Vector¶
- class psi4.core.Vector¶
Bases:
pybind11_builtins.pybind11_object
Class for creating and manipulating vectors
Attributes Summary
The name of the Vector.
View with single irrep.
View with irreps.
Shape of the Psi4 data object.
Methods Summary
array_interface
(self)axpy
(self, a, other)Adds to this vector another vector scaled by a
clone
(self)Clone the vector
copy
(self, arg0)Returns a copy of the matrix
dim
(self[, h])Returns the dimensions of the vector per irrep h
dimpi
(self)Returns the Dimension object
from_array
([name, dim1, dim2])Converts a numpy array or list of numpy arrays into a Psi4 Matrix (irreped if list).
from_list
(x)from_serial
(json_data)Converts serialized data to the correct Psi4 data type
get
(*args, **kwargs)Overloaded function.
get_block
(self, slice)Get a vector block
load
(self, psio, file)Load the vector from disk
nirrep
(self)Returns the number of irreps
np_read
(filename[, prefix])Reads the data from a NumPy compress file.
np_write
([filename, prefix])Writes the irreped matrix to a NumPy zipped file.
print_out
(self)Prints the vector to the output file
save
(self, psio, file)Save the vector to disk
scale
(self, sc)Scales the elements of a vector by sc
set
(*args, **kwargs)Overloaded function.
set_block
(self, slice, block)Set a vector block
to_array
([copy, dense])Converts a Psi4 Matrix or Vector to a NumPy array.
Converts an object with a .nph accessor to a serialized dictionary
vector_dot
(self, other)Take the dot product of two vectors
zero
(self)Zeros the vector
Attributes Documentation
- name¶
The name of the Vector. Used in printing.
- np¶
View with single irrep.
- nph¶
View with irreps.
- shape¶
Shape of the Psi4 data object.
Methods Documentation
- array_interface(self: psi4.core.Vector) list ¶
- axpy(self: psi4.core.Vector, a: float, other: psi4.core.Vector) None ¶
Adds to this vector another vector scaled by a
- clone(self: psi4.core.Vector) psi4.core.Vector ¶
Clone the vector
- copy(self: psi4.core.Vector, arg0: psi4.core.Vector) None ¶
Returns a copy of the matrix
- dim(self: psi4.core.Vector, h: int = 0) int ¶
Returns the dimensions of the vector per irrep h
- dimpi(self: psi4.core.Vector) psi4.core.Dimension ¶
Returns the Dimension object
- classmethod from_array(name='New Matrix', dim1=None, dim2=None)¶
Converts a numpy array or list of numpy arrays into a Psi4 Matrix (irreped if list).
- Parameters
arr (
Union
[ndarray
,List
[ndarray
]]) – Numpy array or list of arrays to use as the data for a new core.Matrixname (
str
) – Name to give the new core.Matrixdim1 (
Union
[List
,Tuple
,Dimension
,None
]) – If a single dense numpy array is given, a dimension can be supplied to apply irreps to this array. Note that this discards all extra information given in the matrix besides the diagonal blocks determined by the passed dimension.dim2 (
Optional
[Dimension
]) – Same as dim1 only if using a psi4.core.Dimension object.
- Returns
Returns the given Psi4 object
- Return type
Notes
This is a generalized function to convert a NumPy array to a Psi4 object
Examples
>>> data = np.random.rand(20,1) >>> vector = psi4.core.Matrix.from_array(data)
>>> irrep_data = [np.random.rand(2, 2), np.empty(shape=(0,3)), np.random.rand(4, 4)] >>> matrix = psi4.core.Matrix.from_array(irrep_data) >>> print(matrix.rowdim().to_tuple()) (2, 0, 4)
- classmethod from_list(x)¶
- classmethod from_serial(json_data)¶
Converts serialized data to the correct Psi4 data type
- get(*args, **kwargs)¶
Overloaded function.
get(self: psi4.core.Vector, m: int) -> float
Returns a single element value located at m
get(self: psi4.core.Vector, h: int, m: int) -> float
Returns a single element value located at m in irrep h
- get_block(self: psi4.core.Vector, slice: psi4.core.Slice) psi4.core.Vector ¶
Get a vector block
- load(self: psi4.core.Vector, psio: psi4.core.IO, file: int) None ¶
Load the vector from disk
- nirrep(self: psi4.core.Vector) int ¶
Returns the number of irreps
- classmethod np_read(filename, prefix='')¶
Reads the data from a NumPy compress file.
- np_write(filename=None, prefix='')¶
Writes the irreped matrix to a NumPy zipped file.
Can return the packed data for saving many matrices into the same file.
- print_out(self: psi4.core.Vector) None ¶
Prints the vector to the output file
- save(self: psi4.core.Vector, psio: psi4.core.IO, file: int) None ¶
Save the vector to disk
- scale(self: psi4.core.Vector, sc: float) None ¶
Scales the elements of a vector by sc
- set(*args, **kwargs)¶
Overloaded function.
set(self: psi4.core.Vector, m: int, val: float) -> None
Sets a single element value located at m
set(self: psi4.core.Vector, h: int, m: int, val: float) -> None
Sets a single element value located at m in irrep h
- set_block(self: psi4.core.Vector, slice: psi4.core.Slice, block: psi4.core.Vector) None ¶
Set a vector block
- to_array(copy=True, dense=False)¶
Converts a Psi4 Matrix or Vector to a NumPy array. Either copies the data or simply constructs a view.
- Parameters
- Returns
Returns either a list of np.array’s or the base array depending on options.
- Return type
Notes
This is a generalized function to convert a Psi4 object to a NumPy array
Examples
>>> data = psi4.core.Matrix(3, 3) >>> data.to_array() [[ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]]
- to_serial()¶
Converts an object with a .nph accessor to a serialized dictionary
- vector_dot(self: psi4.core.Vector, other: psi4.core.Vector) float ¶
Take the dot product of two vectors
- zero(self: psi4.core.Vector) None ¶
Zeros the vector