State¶
-
class
sisl.physics.
State
(state, parent=None, **info)[source]¶ An object handling a set of vectors describing a given state
Parameters: - state : array_like
state vectors
state[i, :]
containing the i’th state vector- parent : obj, optional
a parent object that defines the origin of the state.
- **info : dict, optional
an info dictionary that turns into an attribute on the object. This
info
may contain anything that may be relevant for the state.
Notes
This class should be subclassed!
Attributes
dkind
The data-type of the state (in str) dtype
Data-type for the state info
parent
shape
Returns the shape of the state state
Methods
__init__
(state[, parent])Define a state container with a given set of states copy
()Return a copy (only the state is copied). iter
([asarray])An iterator looping over the states in this system norm
()Return a vector with the norm of each state \(\sqrt{\langle\psi|\psi\rangle}\) norm2
([sum])Return a vector with the norm of each state \(\langle\psi|\psi\rangle\) normalize
()Return a normalized state where each state has \(|\psi|^2=1\) outer
([idx])Return the outer product for the indices idx (or all if None
) by \(\sum_i|\psi_i\rangle\langle\psi_i|\)sub
(idx)Return a new state with only the specified states -
dkind
¶ The data-type of the state (in str)
-
dtype
¶ Data-type for the state
-
info
¶
-
iter
(asarray=False)[source]¶ An iterator looping over the states in this system
Parameters: - asarray: bool, optional
if true the yielded values are the state vectors, i.e. a numpy array. Otherwise an equivalent object is yielded.
Yields: - state : State
a state only containing individual elements, if asarray is false
- state : numpy.ndarray
a state only containing individual elements, if asarray is true
-
norm
()[source]¶ Return a vector with the norm of each state \(\sqrt{\langle\psi|\psi\rangle}\)
Returns: - numpy.ndarray
the normalization for each state
-
norm2
(sum=True)[source]¶ Return a vector with the norm of each state \(\langle\psi|\psi\rangle\)
Parameters: - sum : bool, optional
if true the summed site square is returned (a vector). For false a matrix with normalization squared per site is returned.
Returns: - numpy.ndarray
the normalization for each state
-
normalize
()[source]¶ Return a normalized state where each state has \(|\psi|^2=1\)
This is roughly equivalent to:
>>> state = State(np.arange(10)) >>> n = state.norm() >>> norm_state = State(state.state / n.reshape(-1, 1))
Returns: - State
a new state with all states normalized, otherwise equal to this
-
outer
(idx=None)[source]¶ Return the outer product for the indices idx (or all if
None
) by \(\sum_i|\psi_i\rangle\langle\psi_i|\)Parameters: - idx : int or array_like, optional
only perform an outer product of the specified indices, otherwise all states are used
Returns: - numpy.ndarray
a matrix with the sum of outer state products
-
parent
¶
-
shape
¶ Returns the shape of the state
-
state
¶