Creating specific States
Sources create_state.hpp, create_state.cpp
product_state
Creates a filled product state. The local states are encoded using an integer.
Constructors
Parameters
| Name | Description | |
|---|---|---|
| block | block on which the state is defined | |
| local_states | local configurations of the product state | |
| real | flag whether real state is created |
Each integer represents a certain local physical state which differs from block to block. Here is a summary for each one of the main 5 block types:
Fermion
| Integer | Configuration | Symbol |
|---|---|---|
0 |
empty | ○ |
1 |
occupied fermion | ● |
Boson
The local configuration of a site is simply the occupation number, i.e. an integer in \(0, 1, \ldots, d-1\).
Spinhalf
| Integer | Configuration | Symbol |
|---|---|---|
0 |
down-spin | ↓ |
1 |
up-spin | ↑ |
tJ
| Integer | Configuration | Symbol |
|---|---|---|
0 |
empty | ○ |
1 |
up-spin electron | ↑ |
2 |
down-spin electron | ↓ |
Electron
| Integer | Configuration | Symbol |
|---|---|---|
0 |
empty | ○ |
1 |
up-spin electron | ↑ |
2 |
down-spin electron | ↓ |
3 |
doubly occupied | ⇅ |
For the fermionic blocks, Fermion,tJ, Electron a sign convention for normal ordering is chosen as explained in normal ordering.
random_state
Create a filled random state with normal \(\mathcal{N}(0, 1)\) distributed coefficients.
Parameters
| Name | Description | |
|---|---|---|
| block | block on which the state is defined | |
| real | flag whether real state is created | |
| ncols | number of columns in the state | |
| seed | random seed determining the precise random numbers | |
| normalized | flag whether the state is normalized |
zero_state
Create a filled state with all zero entries.
Parameters
| Name | Description | |
|---|---|---|
| block | block on which the state is defined | |
| real | flag whether real state is created | |
| ncols | number of columns in the state |
zero
Set all coefficients of a given state to zero.