Function sequant::mbpt::lst

Function Documentation

ExprPtr sequant::mbpt::lst(ExprPtr A, ExprPtr B, size_t commutator_rank, LSTOptions options = {})

Computes the Lie similarity transformation, e^(-B) A e^B, using its Campbell expansion (DOI 10.1112/plms/s1-28.1.381) as a series of nested commutators: e^(-B) A e^B = A + [A,B] + (1/2!)[[A,B],B] + (1/3!)[[[A,B],B],B] + ...

See also

LSTOptions Notes:

  • If options.unitary is true, the ansatz uses B - B^+ instead of B.

  • If options.use_commutators is false, commutators are computed via connected products: [A,B] = (AB)_c

  • If options.use_commutators is true, commutators are computed explicitly: [A,B] = AB - BA

  • If options.use_commutators is not set, it defaults to the value of options.unitary. i.e., unless explicitly specified, unitary ansatz will always use commutators.

Parameters:
  • A – Expression A (e.g., the Hamiltonian)

  • B – Expression B (e.g., the cluster operator T)

  • commutator_rank – The maximum order of nested commutators to retain (e.g. 4 for traditional coupled-cluster)

  • options – Options controlling the transformation behavior, see LSTOptions.

Pre:

This function expects A and B to be composed of mbpt::Operators