2.2. mbl.experiment.random_heisenberg#

Classes

RandomHeisenbergED(n, h[, seed, penalty, ...])

Run an exact diagonalization experiment against the random Heisenberg model.

RandomHeisenbergFoldingTSDRG(n, h, chi[, ...])

Run a Tree Tensor Strong-Disorder Renormalization Group (tSDRG) experiment against the random Heisenberg model with spectral folding,

RandomHeisenbergTSDRG(n, h, chi[, seed, ...])

Run a Tree Tensor Strong-Disorder Renormalization Group (tSDRG) experiment against the random Heisenberg model.

class mbl.experiment.random_heisenberg.RandomHeisenbergED(n, h, seed=None, penalty=0, s_target=0, offset=0)[source]#

Bases: mbl.experiment.algorithm.EDExperiment

Run an exact diagonalization experiment against the random Heisenberg model.

Parameters
  • n (int) – System size.

  • h (float) – Disorder strength.

  • seed (int) – Random seed used to initialize the pseudo-random number generator. If not given (None), current time will be used as the seed.

  • penalty (float) – Penalty strength (or Lagrangian multiplier).

  • s_target (int) – The targeting total Sz charge sector.

  • offset (float) – An overall shift to the spectrum.

__init__(n, h, seed=None, penalty=0, s_target=0, offset=0)[source]#

Run an exact diagonalization experiment against the random Heisenberg model.

Parameters
  • n (int) – System size.

  • h (float) – Disorder strength.

  • seed (Optional[int]) – Random seed used to initialize the pseudo-random number generator. If not given (None), current time will be used as the seed.

  • penalty (float) – Penalty strength (or Lagrangian multiplier).

  • s_target (int) – The targeting total Sz charge sector.

  • offset (float) – An overall shift to the spectrum.

compute_df()[source]#

Summarize the experiment with these physical quantities,

  • Energies

  • Total \(S^z\)

  • The edge entropy

  • The bi-partition entropy

Returns

A dataframe containing input parameters and the physical quantities.

Raises

pandera.errors.SchemaError – If data is inconsistent with the schema, mbl.schema.RandomHeisenbergEDSchema.

Return type

pandas.core.frame.DataFrame

class mbl.experiment.random_heisenberg.RandomHeisenbergTSDRG(n, h, chi, seed=None, penalty=0, s_target=0, offset=0, overall_const=1, method='min')[source]#

Bases: mbl.experiment.algorithm.TSDRGExperiment

Run a Tree Tensor Strong-Disorder Renormalization Group (tSDRG) experiment against the random Heisenberg model.

Parameters
  • n (int) – System size.

  • h (float) – Disorder strength.

  • chi (int) – The bond dimensions.

  • seed (int) – Random seed used to initialize the pseudo-random number generator. If not given (None), current time will be used as the seed.

  • penalty (float) – Penalty strength (or Lagrangian multiplier).

  • s_target (int) – The targeting total Sz charge sector.

  • offset (float) – An overall shift to the spectrum.

  • overall_const (float) – An overall constant multiplied on the spectrum.

  • method (str) – Keep the highest or lowest chi eigenvectors in projection.

__init__(n, h, chi, seed=None, penalty=0, s_target=0, offset=0, overall_const=1, method='min')[source]#

Run a Tree Tensor Strong-Disorder Renormalization Group (tSDRG) experiment against the random Heisenberg model.

Parameters
  • n (int) – System size.

  • h (float) – Disorder strength.

  • chi (int) – The bond dimensions.

  • seed (Optional[int]) – Random seed used to initialize the pseudo-random number generator. If not given (None), current time will be used as the seed.

  • penalty (float) – Penalty strength (or Lagrangian multiplier).

  • s_target (int) – The targeting total Sz charge sector.

  • offset (float) – An overall shift to the spectrum.

  • overall_const (float) – An overall constant multiplied on the spectrum.

  • method (str) – Keep the highest or lowest chi eigenvectors in projection.

compute_df()[source]#

Summarize the experiment with these physical quantities,

  • Energies

  • Energy variance

  • Total \(S^z\)

  • The edge entropy

Returns

A dataframe containing input parameters and the physical quantities.

Raises

pandera.errors.SchemaError – If data is inconsistent with the schema, mbl.schema.RandomHeisenbergTSDRGSchema.

Return type

pandas.core.frame.DataFrame

class mbl.experiment.random_heisenberg.RandomHeisenbergFoldingTSDRG(n, h, chi, seed=None, penalty=0, s_target=0, max_en=nan, min_en=nan, relative_offset=0, method='min')[source]#

Bases: mbl.experiment.algorithm.TSDRGExperiment

Run a Tree Tensor Strong-Disorder Renormalization Group (tSDRG) experiment against the random Heisenberg model with spectral folding,

\[H \rightarrow (H - \epsilon)^2,\]

where \(\epsilon = E_{min} + (E_{max} - E_{min}) \times \epsilon_{rel}\)

Parameters
  • n (int) – System size.

  • h (float) – Disorder strength.

  • chi (int) – The bond dimensions.

  • seed (int) – Random seed used to initialize the pseudo-random number generator. If not given (None), current time will be used as the seed.

  • penalty (float) – Penalty strength (or Lagrangian multiplier).

  • s_target (int) – The targeting total Sz charge sector.

  • max_en (float) – An estimated upper bound of the spectrum. Default nan for not performing spectral folding.

  • min_en (float) – An estimated lower bound of the spectrum. Default nan for not performing spectral folding.

  • relative_offset (float) – A relative shift to the spectrum with respect to max_en and min_en.

  • method (str) – Keep the highest or lowest chi eigenvectors in projection.

__init__(n, h, chi, seed=None, penalty=0, s_target=0, max_en=nan, min_en=nan, relative_offset=0, method='min')[source]#

Run a Tree Tensor Strong-Disorder Renormalization Group (tSDRG) experiment against the random Heisenberg model with spectral folding,

\[H \rightarrow (H - \epsilon)^2,\]

where \(\epsilon = E_{min} + (E_{max} - E_{min}) \times \epsilon_{rel}\)

Parameters
  • n (int) – System size.

  • h (float) – Disorder strength.

  • chi (int) – The bond dimensions.

  • seed (Optional[int]) – Random seed used to initialize the pseudo-random number generator. If not given (None), current time will be used as the seed.

  • penalty (float) – Penalty strength (or Lagrangian multiplier).

  • s_target (int) – The targeting total Sz charge sector.

  • max_en (float) – An estimated upper bound of the spectrum. Default nan for not performing spectral folding.

  • min_en (float) – An estimated lower bound of the spectrum. Default nan for not performing spectral folding.

  • relative_offset (float) – A relative shift to the spectrum with respect to max_en and min_en.

  • method (str) – Keep the highest or lowest chi eigenvectors in projection.

compute_df()[source]#

Summarize the experiment with these physical quantities,

  • Energies

  • Energy variance

  • Total \(S^z\)

  • The edge entropy

Returns

A dataframe containing input parameters and the physical quantities.

Raises

pandera.errors.SchemaError – If data is inconsistent with the schema, mbl.schema.RandomHeisenbergFoldingTSDRGSchema.

Return type

pandas.core.frame.DataFrame