[Numpy-discussion] Antwort: Re: vector to tensor matrix speed up

Ferenc.Pintye at eu.decoma.com Ferenc.Pintye at eu.decoma.com
Fri Jul 21 07:35:52 EDT 2006





Hi Tim,

      many thanks for the tipps, i used the same way
with vectorized (chunk)  method on the indexing operation.
..
....
......
............    # out = zeros((size_mcf[0],sizes_smatrix[2]+5),Float32)
      #     size_mcf[0] ~ 240000
      eig = zeros((size_mcf[0],3,3),dtype=Float32)
      eigwert = zeros((size_mcf[0],3),dtype=Float64)
      #
      # here is speed up ~30
      #for j in arange(0,size_mcf[0]):
            #eig[0,0] = out[j,1]
            #eig[1,1] = out[j,2]
            #eig[2,2] = out[j,3]
            #
            #eig[0,1] = out[j,4]
            #eig[0,2] = out[j,6]
            #eig[1,0] = out[j,4]
            #eig[1,2] = out[j,5]
            #eig[2,0] = out[j,6]
            #eig[2,1] = out[j,5]
      #
      eig[:,0,0] = out[:,1]
      eig[:,1,1] = out[:,2]
      eig[:,2,2] = out[:,3]
      eig[:,1,0] = eig[:,0,1] = out[:,4]
      eig[:,2,0] = eig[:,0,2] = out[:,6]
      eig[:,2,1] = eig[:,1,2] = out[:,5]
      #
      for i in arange(size_mcf[0]):
            eigwert[i] = eigvals(eig[i,:,:])
      #
      out[:,7:10] = sort(eigwert[:,:].astype(float32))
      out[:,10] = abs(out[:,7]-out[:,9])

speedup factor ~30 !

f.






More information about the NumPy-Discussion mailing list