build_initial_state

  • full name: tenpy.networks.mps.build_initial_state

  • parent module: tenpy.networks.mps

  • type: function

tenpy.networks.mps.build_initial_state(size, states, filling, mode='random', seed=None)[source]

Build an “initial state” list.

Uses two iterables (‘states’ and ‘filling’) to determine how to fill the state. The two lists should have the same length as every element in ‘filling’ gives the filling fraction for the corresponding state in ‘states’.

Example:

size = 6, states = [0, 1, 2], filling = [1./3, 2./3, 0.] n_states = size * filling = [2, 4, 0] ==> Two sites will get state 0, 4 sites will get state 1, 0 sites will get state 2.

Todo

Make more general: it should be possible to specify states as strings.

Parameters
sizeint

length of state

statesiterable

Containing the possible local states

fillingiterable

Fraction of the total number of sites to get a certain state. If infinite fractions (e.g. 1/3) are needed, one should supply a fraction (1./3.)

modestr | None

State filling pattern. Only ‘random’ is implemented

seedint | None

Seed for random number generators

Returns
initial_state (list)the initial state
Raises
ValueError

If fractonal fillings are incommensurate with system size.

AssertionError

If the total filling is not equal to 1, or the length of filling does not equal the length of states.