FermionTerm 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.
public class FermionTerm : Microsoft.Quantum.Chemistry.LadderOperators.IndexOrderedSequence<int>
type FermionTerm = class
    inherit IndexOrderedSequence<int>
Public Class FermionTerm
Inherits IndexOrderedSequence(Of Integer)
Inheritance
Derived

Constructors

FermionTerm(IEnumerable<LadderOperator<Int32>>, Int32)

Construct instance from a normal-ordered sequence of ladder operators.

FermionTerm(LadderSequence<Int32>)

Construct fermion term instance from a normal-ordered sequence of ladder operators.

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>)

Creates a new ladder sequence with a different indexing scheme.

(Inherited from LadderSequence<TIndex>)
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>)

Operators

Implicit(Int32[] to FermionTerm)

Construct a sequence of ladder operators from an even-length sequence of integers.

Implicit(ValueTuple<RaisingLowering,Int32>[] to FermionTerm)

Implicit operator for creating a Ladder operator.

Extension Methods

ToJordanWignerPauliTerms(FermionTerm, TermType+Fermion, Double)

Creates all fermion terms generated by all symmetries of an orbital integral.

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