SingleCFWavefunction<TIndex> Class

Definition

Class representing a sequence of fermionic raising and lowering operators, subject to the additional constraints:

  1. Normal-ordered, where all raising operators are to the left of all lowering operators.
  2. Index-ordered, where are raising(lowering) operators are in ascending(descending) order.
  3. Contains only creation operators.
public class SingleCFWavefunction<TIndex> : Microsoft.Quantum.Chemistry.LadderOperators.IndexOrderedSequence<TIndex> where TIndex : IEquatable<TIndex>, IComparable<TIndex>
type SingleCFWavefunction<'Index (requires 'Index :> IEquatable<'Index> and 'Index :> IComparable<'Index>)> = class
    inherit IndexOrderedSequence<'Index (requires 'Index :> IEquatable<'Index> and 'Index :> IComparable<'Index>)>
Public Class SingleCFWavefunction(Of TIndex)
Inherits IndexOrderedSequence(Of TIndex)

Type Parameters

TIndex
Inheritance

Constructors

SingleCFWavefunction<TIndex>()

Constructor for empty instance.

SingleCFWavefunction<TIndex>(IEnumerable<TIndex>)

Construct WavefunctionFermionSCF from a sequence of integers.

Properties

Coefficient

sign (-1,+1) coefficient of ladder operators.

(Inherited from LadderSequence<TIndex>)
Sequence

Sequence of ladder operators.

(Inherited from LadderSequence<TIndex>)

Methods

_JsonGetCoefficient()

Returns sign coefficient of ladder operator sequence.

(Inherited from LadderSequence<TIndex>)
_JsonGetSequence()

Returns ladder operator sequence.

(Inherited from LadderSequence<TIndex>)
_JsonSetCoefficient(Int32)

Sets sign coefficient of ladder operator sequence.

(Inherited from LadderSequence<TIndex>)
_JsonSetObject(Object)

Used only for JSON serialization.

(Inherited from LadderSequence<TIndex>)
_JsonSetSequence(Object)

Sets ladder operator sequence.

(Inherited from LadderSequence<TIndex>)
Equals(LadderSequence<TIndex>) (Inherited from LadderSequence<TIndex>)
Equals(Object) (Inherited from LadderSequence<TIndex>)
GetHashCode() (Inherited from LadderSequence<TIndex>)
IsInIndexAnnihilationCanonicalOrder()

Checks whether the annihilation operator sequence of a LadderSequence is in canonical order. This means

  1. SpinOrbital is sorted in descending order for the annihilation operators.
(Inherited from NormalOrderedSequence<TIndex>)
IsInIndexCreationCanonicalOrder()

Checks whether the creation operator sequence of a LadderSequence is in canonical order. This means

  1. SpinOrbital is sorted in ascending order for the creation operators.
(Inherited from NormalOrderedSequence<TIndex>)
IsInIndexOrder()

Checks if raising operators indices are in ascending order, then if lowering operator indices are in descending order.

(Inherited from NormalOrderedSequence<TIndex>)
IsInNormalOrder()

Checks whether all raising operators are to the left of all lowering operators.

(Inherited from LadderSequence<TIndex>)
Multiply(LadderSequence<TIndex>, LadderSequence<TIndex>)

Concatenates two Fermion terms.

(Inherited from LadderSequence<TIndex>)
NormalizeToIndexOrder()

Converts a NormalOrderedLadderSequence to index order. In general, this can generate new terms and modifies the coefficient.

(Inherited from IndexOrderedSequence<TIndex>)
SelectIndex<TNewIndex>(Func<TIndex,TNewIndex>)

Changes the indexing scheme of this instance.

ToIndices()

Returns list of indices of the ladder operator sequence.

(Inherited from LadderSequence<TIndex>)
ToLadderSequence()

Returns a copy of the ladder sequence base class.

(Inherited from LadderSequence<TIndex>)
ToRaisingLowering()

Returns sequence of raising and lowering types of the ladder operator sequence.

(Inherited from LadderSequence<TIndex>)
ToString()

Returns a human-readable description of this object.

(Inherited from LadderSequence<TIndex>)
UniqueIndices()

Counts the number of unique system indices across all LadderOperator<TIndex> terms in a LadderSequence<TIndex>

(Inherited from LadderSequence<TIndex>)

Extension Methods

ToIndexOrder<TIndex>(LadderSequence<TIndex>)

Converts a LadderSequence to normal order, then index order. In general, this can generate new terms and modifies the coefficient.

ToNormalOrder<TIndex>(LadderSequence<TIndex>)

Converts a LadderSequence to normal order. In general, this can generate new terms and modifies the coefficient.

Applies to