Microsoft.Quantum.Simulation namespace
Warning
This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.
Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.
This namespace contains functions and operations for coherently simulating the dynamics of quantum systems.
Operations
Name | Summary |
---|---|
AdiabaticStateEnergyUnitary | Performs state preparation by applying a statePrepUnitary on the input state, followed by adiabatic state preparation using a adiabaticUnitary , and finally phase estimation with respect to qpeUnitary on the resulting state using a phaseEstAlgorithm . |
EstimateEnergy | Performs state preparation by applying a statePrepUnitary on an automatically allocated input state phase estimation with respect to qpeUnitary on the resulting state using a phaseEstAlgorithm . |
EstimateEnergyWithAdiabaticEvolution | Performs state preparation by applying a statePrepUnitary on an automatically allocated input state, followed by adiabatic state preparation using a adiabaticUnitary , and finally phase estimation with respect to qpeUnitary on the resulting state using a phaseEstAlgorithm . |
Functions
Name | Summary |
---|---|
AddGeneratorSystems | Adds two GeneratorSystem s to create a new GeneratorSystem . |
BlockEncodingByLCU | Encodes an operator of interest into a BlockEncoding . |
BlockEncodingReflectionByLCU | Encodes an operator of interest into a BlockEncodingReflection . |
BlockEncodingToReflection | Converts a BlockEncoding into an equivalent BLockEncodingReflection . |
GetGeneratorSystemFunction | Retrieves the GeneratorIndex function in a GeneratorSystem . |
GetGeneratorSystemNTerms | Retrieves the number of terms in a GeneratorSystem . |
IdentityGeneratorIndex | Returns a generator index consistent with the zero Hamiltonian, H = 0 , which corresponds to the identity evolution operation. |
IdentityGeneratorSystem | Returns a generator system consistent with the zero Hamiltonian H = 0 , which corresponds to the identity evolution operation. |
IdentityTimeDependentGeneratorSystem | Returns a time-dependent generator system consistent with the Hamiltonian H(s) = 0 . |
IntToPauli | Converts a integer to a single-qubit Pauli operator. |
InterpolateGeneratorSystems | Returns a TimeDependentGeneratorSystem representing the linear interpolation between two GeneratorSystem s. |
InterpolatedEvolution | Interpolates between two generators with a uniform schedule, returning an operation that applies simulated evolution under the resulting time-dependent generator to a qubit register. |
IntsToPaulis | Converts an array of integers to an array of single-qubit Pauli operators. |
MultiplyGeneratorIndex | Multiplies the coefficient in a GeneratorIndex . |
MultiplyGeneratorSystem | Multiplies the coefficient of all terms in a GeneratorSystem . |
PauliBlockEncoding | Creates a block-encoding unitary for a Hamiltonian. |
PauliCoefficientFromGenIdx | Extracts the coefficient of a Pauli term described by a GeneratorIndex . |
PauliEvolutionFunction | Represents a dynamical generator as a set of simulatable gates and an expansion in the Pauli basis. |
PauliEvolutionSet | Represents a dynamical generator as a set of simulatable gates and an expansion in the Pauli basis. |
PauliStringFromGenIdx | Extracts the Pauli string and its qubit indices of a Pauli term described by a GeneratorIndex . |
QuantumWalkByQubitization | Converts a block-encoding reflection into a quantum walk. |
SumGeneratorSystems | Adds multiple GeneratorSystem s to create a new GeneratorSystem. |
TimeDependentTrotterSimulationAlgorithm | TimeDependentSimulationAlgorithm function that uses a Trotter–Suzuki decomposition to approximate a unitary operator that solves the time-dependent Schrodinger equation. |
TrotterSimulationAlgorithm | SimulationAlgorithm function that uses a Trotter–Suzuki decomposition to approximate the time-evolution operator exp(-iHt). |
TrotterStep | Implements a single time-step of time-evolution by the system described in an EvolutionGenerator using a Trotter–Suzuki decomposition. |
User-defined types
Name | Summary |
---|---|
BlockEncoding | Represents a unitary where an arbitrary operator of interest is encoded in the top-left block. |
BlockEncodingReflection | Represents a BlockEncoding that is also a reflection. |
EvolutionGenerator | Represents a dynamical generator as a set of simulatable gates and an expansion in terms of that basis. |
EvolutionSchedule | Represents a time-dependent dynamical generator. |
EvolutionSet | Represents a set of gates that can be readily implemented and used to implement simulation algorithms. |
EvolutionUnitary | Represents a unitary time-evolution operator. |
GeneratorIndex | Represents a single primitive term in the set of all dynamical generators, e.g. Hermitian operators, for which there exists a map from that generator to time-evolution by that generator, through EvolutionSet . |
GeneratorSystem | Represents a collection of GeneratorIndex es. |
SimulationAlgorithm | Represents a time-independent simulation algorithm. |
TimeDependentBlockEncoding | Represents a BlockEncoding that is controlled by a clock register. |
TimeDependentGeneratorSystem | Represents a time-dependent dynamical generator as a function from time to the value of the dynamical generator at that time. |
TimeDependentSimulationAlgorithm | Represents a time-dependent simulation algorithm. |
Unitary | Represents evolution under a unitary operator. |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for