Click or drag to resize
Fermion Class
Hamiltonian simulation for fermionic systems.
Inheritance Hierarchy

Namespace: Microsoft.Research.Liquid
Assembly: Liquid1 (in Liquid1.dll) Version: 1.0.5981.24943 (1.0.*)
Syntax
F#
[<SerializableAttribute>]
type Fermion =  
    class
        inherit Hamiltonian
    end

The Fermion type exposes the following members.

Constructors
  NameDescription
Public methodFermion(Double, Double, Int32, Int32, Int32, DictionaryString, String, FSharpFuncDouble, FSharpFuncFSharpListQubit, Unit)
Creates a new Fermion instance from a prebuilt Circuit.
Public methodFermion(Double, Double, Int32, Int32, Int32, FSharpListTupleInt32, Int32, Double, FSharpListTupleInt32, Int32, Int32, Int32, Double, DictionaryString, String, FSharpOptionFSharpListInt32)
Creates a new Fermion instance from orbit overlap integrals.
Top
Properties
  NameDescription
Public propertybits
The mumber of phase estimation bits. This is the bit precision plus two.
Public propertyCircs
The built circuits, in bit order.
Public propertycurrentCirc
The last circuit that was run (ungrown).
Public propertydecohereModel
The decoherence model for this Hamiltonian.
(Inherited from Hamiltonian.)
Public propertyeMax
The maximum energy for phase estimation.
Public propertyeMin
The minimum energy for phase estimation.
Public propertyEnergy
The result of phase estimation, interpreted as an energy. This will always be between eMin and eMax. This value is only available after Run has been called.
Public propertyKet
Gets the Ket vector associated with this Hamiltonian
(Inherited from Hamiltonian.)
Public propertyomega
The energy range, eMax - eMin, for phase estimation.
Public propertyorder
The trotter order for phase estimation.
Public propertyPhase
The result of phase estimation, as an angle between 0 and 2*pi. This value is only available after Run has been called.
Public propertytrotterN
The trotter number for phase estimation.
Public propertytTotal
The total evolution time for phase estimation. This is equal to 2*p1/omega.
Public propertyUa
The gate function that implements a full Hamiltonian time step
Top
Methods
  NameDescription
Public methodBuild
Builds either a grown circuit or an exponentiated unitary.
Public methodClean
Cleans out temporary files.
Public methodDump
Dumps out information on this simulator.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberLoad
Loads a Fermion test from a .dat file based on a script.
Public methodStatic memberLoadOrbs
Loads orbital information from an array of strings.
Public methodPhaseSetup
Sets up phase estimation for all runs.
Public methodPrep
Prepares an initial state from the provided spin orbital indices.
Public methodRun(Boolean, FSharpOptionInt32)
Runs the simulation to obtain a phase estimate. A previous call to Build() or BuildSingle() is required.
Public methodStatic memberRun(DictionaryString, String, String)
Runs a Fermion test from a .dat file, based on a script A basic axecution trace is sent to both the console and the log. Detailed information is sent just sent to the log. See the Users Manual for details on the parameters.
Public methodStatic memberRun(DictionaryString, String, String)
Runs a pre-loaded Fermion test based on a script. A basic axecution trace is sent to both the console and the log. Detailed information is sent just sent to the log. See the Users Manual for details on the parameters.
Public methodStatic memberRun(DictionaryString, String, FSharpFuncDouble, FSharpFuncFSharpListQubit, Unit, Ket)
Runs a Fermion test from a pre-built circuit and state vector. See the Users Manual for details on the parameters.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks
This class simulates second-quantized models of electrons with a state space consisting of spin-up/spin-down pairs, with both one-body and two-body interactions.

In particular, this includes second-quantized quantum chemistry, where the state pairs are molecular orbitals, and the individual states are spin orbitals. In this case, the interaction terms come from various orbital overlap integrals. See the Users Manual for more detailed information.

See Also