I am trying to set a psi4.Vector using a np array as input. The syntax I am trying to use is the following consider I have a np vector x:
but this seems to throw out an error. I would appreciate any suggestion you might have.
Thank you in advance.
It looks like we did not export the non-irreped form of this to python, you can use
vec.set(0, x) for your operation currently.
As a note probably the best way to go from a NumPy array to a Psi4 vector is the following:
a = np.random.rand(5)
b = psi4.Vector(5)
b_view = np.asarray(b) # Take a view of b
b_view[:] = a # Set b to a
b.print_out() # Check the array
np.asarray syntax will not copy the data, but create a NumPy array that is a view of the Psi4 Matrix. Since all of these arrays are just
double*'s under the hood we can pass the memory position around arbitrarily.