Wolfram Language Paclet Repository
Community-contributed installable additions to the Wolfram Language
Perform analytic and numeric quantum computations
Contributed by: Wolfram Research, Quantum Computation Framework team
The Wolfram Quantum Framework brings a broad, coherent design for quantum computation, together with a host of leading-edge capabilities and full integration into Mathematica and Wolfram Language. Starting from discrete quantum mechanics, the Framework provides a high-level symbolic representation of quantum bases, states and operators. The Framework can perform measurements and is equipped with various well-known states and operators, such as Bell states and Pauli operators. Using such simulation capabilities as a foundation, one can use the Framework to model and simulate quantum circuits and algorithms, interoperate with many external quantum platforms, and send queries to quantum processing units from a Wolfram notebook.
Within the Framework, all quantum-related functions and objects are natively integrated with Wolfram Language, providing immediate access to a wide array of tools for exploring quantum computational queries and serving as a potent resource for education in the field.
To install this paclet in your Wolfram Language environment,
evaluate this code:
PacletInstall["Wolfram/QuantumFramework"]
To load the code after installation, evaluate this code:
Needs["Wolfram`QuantumFramework`"]
The Wolfram quantum framework handles many different quantum objects, including states, operators, channels, measurements, circuits, and more. It offers specialized functions for various computations like quantum evolution, entanglement monotones, partial tracing, Wigner or Weyl transformations, stabilizer formalism, and additional capabilities. Each functionality incorporates common named operations, such as Schwinger basis, GHZ state, Fourier operator, Grover circuit, and others. Perform computations seamlessly with the Wolfram quantum framework using the standard Wolfram kernel, such as the usual evaluation of codes in Mathematica. Alternatively, leverage the framework to send jobs to quantum processing units via service connections.
Create a quantum circuit composed of Pauli-X on qubits 1 and 2, Hadamard on qubit 1, CNOT with qubit 1 as the controlled and qubit 2 as the target, rotation around the z-axis by a symbolic angle ϕ on qubit 1, rotation around the z-axis by a symbolic angle θ on qubit 2, Hadamard on qubits 1 and 2, and finally, measurement in the computational basis on qubits 1 and 2.
In[1]:= |
Out[2]= |
Generate the multivariate distribution of measurement results based on the assumption that the angles are real:
In[3]:= |
Out[4]= |
Calculate the quantum correlation P00-P10-P01+P11
In[5]:= |
Out[5]= |
Create the quantum phase estimation circuit for a phase operator:
In[6]:= |
Out[7]= |
In[8]:= |
Out[8]= |
In[9]:= |
Out[9]= |
Set time and other variables of the Hamiltonian (Rabi drive and detuning):
In[10]:= |
Out[12]= |
Create a 10-qubit Hamiltonian operator as
In[13]:= |
Evolve quantum state:
In[14]:= |
Plot the probability of observing the register state:
In[15]:= |
Out[15]= |
Plot the Bloch vector evolution:
In[16]:= |
Out[16]= |
Wolfram Language Version 13.1