PauliHamiltonian Class

Definition

Jordan–Wigner representation of a general fermion Hamiltonian FermionHamiltonian. This representation may only be created from instances of FermionHamiltonian, and stores term data in a format suitable for consumption by Q#, and optimized for a product formula Hamiltonian simulation algorithm.

This supports the following FermionTermType: IdentityTermType, PPTermType, PQTermType, PQQPTermType, PQQRTermType, PQRSTermType.

Some optimizations are performed:

public class PauliHamiltonian : Microsoft.Quantum.Chemistry.Generic.Hamiltonian<Microsoft.Quantum.Chemistry.TermType.PauliTerm,Microsoft.Quantum.Chemistry.Paulis.PauliTerm,Microsoft.Quantum.Chemistry.Paulis.PauliTermValue>
type PauliHamiltonian = class
    inherit Hamiltonian<TermType.PauliTerm, PauliTerm, PauliTermValue>
Public Class PauliHamiltonian
Inherits Hamiltonian(Of TermType.PauliTerm, PauliTerm, PauliTermValue)
Inheritance

Constructors

PauliHamiltonian()

Fields

SystemIndices

Indices to systems (e.g. fermions, qubits, or orbitals) the Hamiltonian acts on.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
Terms

Container for all terms in a Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)

Methods

Add(TTermClassification, TTermIndexing, TTermValue)

Adds a term to a Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
Add(TTermIndexing, TTermValue)

Adds a term to a Hamiltonian. This method infers the term category from the term index if possible.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
AddHamiltonian(Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)

Method for add all terms from a source Hamiltonian into this Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
AddRange(IEnumerable<ValueTuple<TTermIndexing,TTermValue>>)

Add multiple terms to a Hamiltonian. This method infers the term category from the term index if possible.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
AddRange(TTermClassification, IEnumerable<ValueTuple<TTermIndexing,TTermValue>>)

Adds multiple term to a Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
AddToSystemIndices(TTermIndexing)

Method that add system indices to the systemIndices hashset.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
CountTerms()

Counts the number of terms in a Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
CountUniqueSystemIndices()

Counts the number of systems (fermions) in a Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
GetTerm(TTermIndexing)

Method for retrieving a term to a Hamiltonian. This method infers the term category from the term index if possible.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
Norm(Double)

Computes the L_p norm of coefficients of all terms in a Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
Norm(IEnumerable<TTermClassification>, Double)

Computes the L_p norm of coefficients of categories of terms in a Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)
ToString()

String representation of Hamiltonian.

(Inherited from Hamiltonian<TTermClassification,TTermIndexing,TTermValue>)

Extension Methods

ToQSharpFormat(PauliHamiltonian)

Applies to