ffsim.UCCSDOpRestrictedReal

class ffsim.UCCSDOpRestrictedReal(t1, t2, final_orbital_rotation=None, validate=True, rtol=1e-05, atol=1e-08)[source]

Bases: SupportsApplyUnitary, SupportsApproximateEquality

Real-valued restricted unitary coupled cluster, singles and doubles operator.

UCCSD operator with real-valued t-amplitudes. Note that the final orbital rotation, if included, is allowed to be complex-valued.

t1

The t1 amplitudes, as a Numpy array of shape (nocc, nvrt).

Type:

np.ndarray

t2

The t2 amplitudes, as a Numpy array of shape (nocc, nocc, nvrt, nvrt).

Type:

np.ndarray

final_orbital_rotation

The optional final orbital rotation, as a Numpy array of shape (norb, norb).

Type:

np.ndarray | None

Parameters:
  • validate (InitVar) – Whether to validate the operator attributes. Setting this to False skips validation, which is useful if you need to create many instances of this class and are confident that the attributes are valid.

  • rtol (InitVar) – Relative numerical tolerance for validation checks.

  • atol (InitVar) – Absolute numerical tolerance for validation checks.

Methods

from_parameters(params, *, norb, nocc[, ...])

Initialize the UCCSD operator from a real-valued parameter vector.

n_params(norb, nocc, *[, ...])

Return the number of parameters of an ansatz with given settings.

to_parameters()

Convert the UCCSD operator to a real-valued parameter vector.

Attributes

atol

final_orbital_rotation

norb

The number of spatial orbitals.

rtol

validate

t1

t2