versioninfo()
Julia Version 1.7.1 Commit ac5cc99908 (2021-12-22 19:35 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: AMD Ryzen 5 PRO 3400GE w/ Radeon Vega Graphics WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-12.0.1 (ORCJIT, znver1) Environment: JULIA_EDITOR = nvim JULIA_SHELL = /bin/bash
By using this package, matrix representation is changed into Dirac notation.
In order to change display style, all you have to do is import this package.
using DiracNotation, LinearAlgebra, Random; Random.seed!(0);
ket = normalize(rand(Complex{Float64}, 4)); bra = ket';
dirac(ket)
$|\psi\rangle = (0.296201+0.0500454im)|00\rangle+(0.62945+0.0627674im)|01\rangle+(0.483044+0.0849307im)|10\rangle+(0.0798625+0.512534im)|11\rangle $
dirac(bra)
$\langle\psi| = (0.296201-0.0500454im)\langle00|+(0.62945-0.0627674im)\langle01|+(0.483044-0.0849307im)\langle10|+(0.0798625-0.512534im)\langle11| $
dirac(ket)
$|\psi\rangle = (0.296201+0.0500454im)|00\rangle+(0.62945+0.0627674im)|01\rangle+(0.483044+0.0849307im)|10\rangle+(0.0798625+0.512534im)|11\rangle $
op = rand(2,2);
dirac(op)
$\hat{\rho} = 0.28951|0\rangle\langle0|+0.538639|0\rangle\langle1|+0.02855|1\rangle\langle0|+0.89699|1\rangle\langle1| $
7 dimensional state
$| \psi \rangle \in \mathbb{C}^7$
dim = 7
ket = normalize(rand(dim))
dirac(ket, [dim])
$|\psi\rangle = 0.178768|0\rangle+0.234424|1\rangle+0.29376|2\rangle+0.625728|3\rangle+0.515035|4\rangle+0.107587|5\rangle+0.398021|6\rangle $
qubit-qutrit
$| \psi \rangle \in \mathbb{C}^2 \otimes \mathbb{C}^3$
dims = [2,3]
ket = normalize(randn(prod(dims)))
dirac(ket, dims)
$|\psi\rangle = -0.248521|00\rangle-0.0145385|01\rangle-0.701118|02\rangle-0.334889|10\rangle+0.0444954|11\rangle-0.57648|12\rangle $
Operator
$A: V \rightarrow W$ where $V = \mathbb{C}^2$ and $W = \mathbb{C}^3$
A = rand(3,2)
dirac(A, [3], [2])
$\hat{\rho} = 0.573612|0\rangle\langle0|+0.862693|0\rangle\langle1|+0.443074|1\rangle\langle0|+0.518326|1\rangle\langle1|+0.62073|2\rangle\langle0|+0.766871|2\rangle\langle1| $
DiracNotation.set_properties(precision=2)
op = rand(2,3);
leftdims = [2];
rightdims = [3];
dirac(op, leftdims, rightdims)
$\hat{\rho} = 0.13|0\rangle\langle0|+0.35|0\rangle\langle1|+0.12|0\rangle\langle2|+0.087|1\rangle\langle0|+0.19|1\rangle\langle1|+0.9|1\rangle\langle2| $
DiracNotation.set_properties(islatex=false)
op = rand(2,3);
leftdims = [2];
rightdims = [3];
dirac(op, leftdims, rightdims)
ρ = 0.42|0⟩⟨0|+0.88|0⟩⟨1|+0.84|0⟩⟨2|+0.71|1⟩⟨0|+0.93|1⟩⟨1|+0.98|1⟩⟨2|