HermitianFermionTerm Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Class representing a sequence of fermionic raising and lowering operators, subject to the additional constraints:
- Normal-ordered, where all raising operators are to the left of all lowering operators.
- Index-ordered, where are raising(lowering) operators are in ascending(descending) order.
- Hermitian, and is assumed to be implicitly summed with its Hermitian conjugate if not explicitly Hermitian.
public class HermitianFermionTerm : Microsoft.Quantum.Chemistry.Fermion.FermionTerm, IEquatable<Microsoft.Quantum.Chemistry.Fermion.HermitianFermionTerm>, Microsoft.Quantum.Chemistry.ITermIndex<Microsoft.Quantum.Chemistry.TermType.Fermion,Microsoft.Quantum.Chemistry.Fermion.HermitianFermionTerm>
type HermitianFermionTerm = class
inherit FermionTerm
interface ITermIndex<TermType.Fermion, HermitianFermionTerm>
interface IEquatable<HermitianFermionTerm>
Public Class HermitianFermionTerm
Inherits FermionTerm
Implements IEquatable(Of HermitianFermionTerm), ITermIndex(Of TermType.Fermion, HermitianFermionTerm)
- Inheritance
-
HermitianFermionTerm
- Implements
Constructors
| HermitianFermionTerm() |
Constructor for empty instance. |
| HermitianFermionTerm(IEnumerable<Int32>) |
Constructs a Hermitian fermion term with an equal number of creation and annihilation operators from a sequence of integers. |
| HermitianFermionTerm(IEnumerable<LadderOperator<Int32>>, Int32) |
Constructs a Hermitian fermion term from a normal-ordered sequence of ladder operators. |
| HermitianFermionTerm(LadderSequence<Int32>) |
Constructs a Hermitian fermion term 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>) |
| Sign |
Returns the sign of this fermion term. |
| TermType |
Return the category of this fermion term. |
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>) |
| Clone() |
Creates a copy of this instance. |
| Equals(HermitianFermionTerm) | |
| Equals(LadderSequence<TIndex>) | (Inherited from LadderSequence<TIndex>) |
| Equals(Object) | |
| GetHashCode() | |
| IsInCanonicalOrder() |
Checks if raising operators indices are in ascending order, then if lowering operator indices are in descending order. |
| IsInIndexAnnihilationCanonicalOrder() |
Checks whether the annihilation operator sequence of a LadderSequence is in canonical order. This means
|
| IsInIndexCreationCanonicalOrder() |
Checks whether the creation operator sequence of a LadderSequence is in canonical order. This means
|
| 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>) |
| ResetSign() |
Sets the sign of this fermion term to one. |
| 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(ValueTuple<RaisingLowering,Int32>[] to HermitianFermionTerm) |
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. |