Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Represent a quantum basis
ResourceFunction["QuantumBasis"][<|name1→b1,name2→b2,…|>,pic] represents a discrete quantum basis with basis elements bi, having names namei, with respect to the quantum mechanical picture pic. | |
ResourceFunction["QuantumBasis"]["name",pic] represents a named quantum basis "name", with respect to the quantum mechanical picture pic. | |
ResourceFunction["QuantumBasis"][{"name",d},pic] represents a d-dimensional version of a named quantum basis "name", with respect to the quantum mechanical picture pic. | |
ResourceFunction["QuantumBasis"][…,s] represents a specified quantum basis for a collection of s qudits (subsystems). | |
ResourceFunction["QuantumBasis"][ResourceFunction["QuantumBasis"][…],pic] transforms a specified quantum basis into the new quantum mechanical picture pic. |
| "BasisElementNames" | list of basis element names namei |
| "BasisElements" | list of basis elements bi |
| "NormalizedBasisElements" | list of normalized basis elements bi |
| "BasisElementAssociation" | the association <| name1→b1,name2→b2,…|> |
| "MatrixRepresentation" | change of basis matrix (from the computational basis) |
| "Rank" | tensor rank of the basis elements bi |
| "Type" | whether the basis elements bi are vectors, matrices or higher-rank tensors |
| "Dimensions" | dimensionality of the basis elements bi |
| "Qudits" | number of qudits (subsystems) in the basis |
| "Picture" | which quantum mechanical picture the basis is defined with respect to |
| "Properties" | list of all property names |
| "Computational" | 2-dimensional computational basis |
| {"Computational",d} | d-dimensional computational basis |
| "Bell" | Bell basis |
| "PauliZ" | Pauli-Z (computational) basis |
| "PauliX" | Pauli-X (Hadamard) basis |
| "PauliY" | Pauli-Y basis |
| "Fourier" | 2-dimensional basis of the quantum Fourier transform |
| {"Fourier",d} | d-dimensional basis of the quantum Fourier transform |
| "Schwinger" | 2-dimensional Schwinger basis |
| {"Schwinger",d} | d-dimensional Schwinger basis |
| "Pauli" | basis of the Pauli matrices |
| "Dirac" | basis of the Dirac (gamma) matrices |
| "Wigner" | 2-dimensional basis of the Wigner phase space operators with respect to the computational basis |
| {"Wigner",d} | d-dimensional basis of the Wigner phase space operators with respect to the computational basis |
| {"Wigner",ResourceFunction["QuantumBasis"][…]} | basis of the Wigner phase space operators with respect to the specified ResourceFunction["QuantumBasis"] |
Create a 2-dimensional basis in the Schrodinger picture (default), using Ket notation for the basis element names:
| In[1]:= |
| Out[1]= |
Return its basis element association:
| In[2]:= |
| Out[2]= |
Create a 2-dimensional basis in the Heisenberg picture, using strings for the basis element names:
| In[3]:= |
| Out[3]= |
Return its matrix representation (change of basis matrix):
| In[4]:= |
| Out[4]= |
Basis elements can be tensors of arbitrary rank:
| In[5]:= |
| Out[5]= |
Return a matrix representation:
| In[6]:= |
| Out[6]= |
Return the rank and type:
| In[7]:= |
| Out[7]= |
| In[8]:= |
| Out[8]= |
Represent the Bell basis for a single qubit (default):
| In[9]:= |
| Out[9]= |
| In[10]:= |
| Out[10]= |
Represent the Bell basis for a pair of qubits (defined via a tensor product) instead:
| In[11]:= |
| Out[11]= |
| In[12]:= |
| Out[12]= | ![]() |
Represent the 2-dimensional (default) basis of the quantum Fourier transform:
| In[13]:= |
| Out[13]= |
Get its matrix representation:
| In[14]:= |
| Out[14]= |
Represent the 3-dimensional basis of the quantum Fourier transform instead:
| In[15]:= |
| Out[15]= |
Get its matrix representation:
| In[16]:= |
| Out[16]= | ![]() |
The elements of a 2-dimensional QuantumBasis can be arbitrary (potentially non-orthonormal) vectors:
| In[17]:= |
| Out[17]= |
Return the list of basis elements:
| In[18]:= |
| Out[18]= |
Return the list of normalized basis elements:
| In[19]:= |
| Out[19]= |
Represent the Pauli-X (Hadamard) basis in the Heisenberg picture:
| In[20]:= |
| Out[20]= |
Transform the basis to the interaction picture:
| In[21]:= |
| Out[21]= |
Create a 2-dimensional basis for a single qubit:
| In[22]:= |
| Out[22]= |
Create a 3-qubit version of the same basis by taking a tensor product of the basis with itself 3 times:
| In[23]:= |
| Out[23]= |
View the basis elements of the 3-qubit system:
| In[24]:= |
| Out[24]= | ![]() |
Represent the 2-dimensional Schwinger basis of rank-2 (matrix) elements:
| In[25]:= |
| Out[25]= |
View the basis elements:
| In[26]:= |
| Out[26]= |
Represent the 3-dimensional Schwinger basis:
| In[27]:= |
| Out[27]= |
View its basis elements:
| In[28]:= |
| Out[28]= | ![]() |
Represent the basis of rank-2 Pauli matrices:
| In[29]:= |
| Out[29]= |
View the basis elements:
| In[30]:= |
| Out[30]= |
Represent the basis of rank-2 Dirac (gamma) matrices:
| In[31]:= |
| Out[31]= |
View the basis elements:
| In[32]:= |
| Out[32]= | ![]() |
Represent the 2-dimensional basis of Wigner phase space operators with respect to the computational basis:
| In[33]:= |
| Out[33]= |
View the basis elements:
| In[34]:= |
| Out[34]= | ![]() |
Represent the 3-dimensional basis of Wigner phase space operators with respect to the computational basis:
| In[35]:= |
| Out[35]= |
View the basis elements:
| In[36]:= |
| Out[36]= | ![]() |
Represent the 2-dimensional basis of Wigner phase space operators with respect to the Pauli-X (Hadamard) basis:
| In[37]:= |
| Out[37]= |
View the basis elements:
| In[38]:= |
| Out[38]= | ![]() |
QuantumBasis objects can be constructed purely symbolically (without explicit vector or matrix elements):
| In[39]:= |
| Out[39]= |
View the basis elements:
| In[40]:= |
| Out[40]= |
Standard operations can still be performed on purely symbolic bases:
| In[41]:= |
| Out[41]= | ![]() |
Represent a collection of 2 qudits:
| In[42]:= |
| Out[42]= |
View the basis elements:
| In[43]:= |
| Out[43]= |
View a list of properties that can be extracted from a QuantumBasis object:
| In[44]:= |
| Out[44]= |
| In[45]:= |
| Out[45]= |
Return the list of basis element names:
| In[46]:= |
| Out[46]= |
Return the list of basis elements:
| In[47]:= |
| Out[47]= |
Return the list of normalized basis elements:
| In[48]:= |
| Out[48]= |
Return the association of names and basis elements:
| In[49]:= |
| Out[49]= |
Return the matrix representation (change of basis matrix):
| In[50]:= |
| Out[50]= |
Return the rank and type of basis:
| In[51]:= |
| Out[51]= |
| In[52]:= |
| Out[52]= |
Return the number of dimensions:
| In[53]:= |
| Out[53]= |
Return the number of qudits (subsystems):
| In[54]:= |
| Out[54]= |
Return which quantum mechanical picture the basis is defined with respect to:
| In[55]:= |
| Out[55]= |
This work is licensed under a Creative Commons Attribution 4.0 International License