adpeps.ipeps.ctm

Main CTM code

The individual site and boundary tensors come in a special list-type object (TList), which has extra indexing features, such as periodic boundary conditions and shift contexts

All ncon contractions are defined in contractions.yaml

class CTM(tensors, chi, conv_fun=None)[source]

CTM class

Parameters
show_progress()[source]

Print out the current progress

update()[source]

Perform an update of all boundary tensors

property converged

Check convergence with supplied convergence function

do_bottom(ts, chi)[source]

Perform bottom CTM move

Parameters
Returns

updated tensors

Return type

ts

Return type

CTMTensors

do_left(ts, chi)[source]

Perform left CTM move

Parameters
Returns

A tuple containing

  • tensors (CTMTensors): updated tensors

  • sl (np.ndarray): singular values of C1 (for convergence)

Return type

Tuple[CTMTensors, ndarray]

do_right(ts, chi)[source]

Perform right CTM move

Parameters
Returns

updated tensors

Return type

ts

Return type

CTMTensors

do_top(ts, chi)[source]

Perform top CTM move

Parameters
Returns

updated tensors

Return type

ts

Return type

CTMTensors

get_projectors(T1, T2, chi)[source]

Contracts the corners together and computes the projectors by performing an svd

Parameters

T1 (int) –

get_projectors_bottom(ts, chi)[source]

Returns the bottom projectors

Return type

Tuple[ndarray, ndarray, ndarray]

Parameters
get_projectors_left(ts, chi)[source]

Returns the left projectors

Return type

Tuple[ndarray, ndarray, ndarray]

Parameters
get_projectors_right(ts, chi)[source]

Returns the right projectors

Return type

Tuple[ndarray, ndarray, ndarray]

Parameters
get_projectors_top(ts, chi)[source]

Returns the top projectors

Return type

Tuple[ndarray, ndarray, ndarray]

Parameters
renorm_left(ts, Pl, Plb)[source]
Return type

Tuple[Nested, Nested, Nested]

Parameters
renormalize(tensors, chi)[source]

Performs a CTM iteration Updates all sites in the unit cell

Parameters
Returns

A tuple containing

  • tensors (CTMTensors): updated tensors

  • S (np.ndarray): singular values of C1 (for convergence)

Return type

Tuple[CTMTensors, ndarray]