The Unitary Time Evolution Operator of a Continuous-Time Quantum Walk
Source:R/time_evolution.R
unitary_matrix.ctqwalk.Rd
The Unitary Time Evolution Operator of a Continuous-Time Quantum Walk
Usage
# S3 method for ctqwalk
unitary_matrix(object, t, ...)
Arguments
- object
an instance of class
ctqwalk
.- t
it will be returned the evolution operator at time
t
.- ...
further arguments passed to or from other methods.
Value
unitary_matrix()
returns the unitary time evolution operator of the
CTQW evaluated at time t
.
Details
If \(|\psi(t) \rangle\) is the quantum state of the system at time \(t\), and \(H\) the Hamiltonian operator, then the evolution is governed by the Schrodinger equation
$$\frac{\partial}{\partial t}|\psi(t) \rangle = iH|\psi(t) \rangle$$
and if \(H\) is time-independent its solution is given by
$$|\psi(t) \rangle = U(t)|\psi(0) \rangle = e^{iHt}|\psi(0) \rangle$$
The evolution operator is the result of the complex matrix exponential and it can be calculated as
$$U(t) = e^{iHt} = \sum_r e^{i t \lambda_r}E_r$$
in which \(H = \sum_r \lambda_r E_r\).
Examples
walk <- ctqwalk(matrix(c(0,1,0,1,0,1,0,1,0), nrow=3))
# Returns the operator at time t = 2*pi, U(2pi)
unitary_matrix(walk, t = 2*pi)
#> [,1] [,2] [,3]
#> [1,] 0.07089191+0.0000000i 0.0000000+0.3629497i -0.92910809-0.0000000i
#> [2,] 0.00000000+0.3629497i -0.8582162-0.0000000i 0.00000000+0.3629497i
#> [3,] -0.92910809-0.0000000i 0.0000000+0.3629497i 0.07089191+0.0000000i