Restrict a Jordan-Wigner encoded operator to a given Sz value
openfermion.linalg.jw_sz_restrict_operator(
operator,
sz_value,
n_electrons=None,
n_qubits=None,
up_index=openfermion.utils.up_index
,
down_index=openfermion.utils.down_index
)
Args |
operator
|
ndarray or sparse
Numpy operator acting on
the space of n_qubits.
|
sz_value
|
float
Desired Sz value. Should be an integer or
half-integer.
|
n_electrons
|
int, optional
Number of particles to restrict the
operator to, if such a restriction is desired.
|
n_qubits
|
int, optional
Number of qubits defining the total state
|
up_index
|
Callable, optional
Function that maps a spatial index
to the index of the corresponding up site
|
down_index
|
Callable, optional
Function that maps a spatial index
to the index of the corresponding down site
|
Returns |
new_operator
|
ndarray or sparse
Numpy operator restricted to
acting on states with the desired Sz value.
|