BraketAHS
Documentation for BraketAHS.
BraketAHS.compute_MPS_evolution
BraketAHS.get_atom_coordinates
BraketAHS.get_trotterized_circuit_2d
BraketAHS.parse_ahs_program
BraketAHS.compute_MPS_evolution
— Methodcompute_MPS_evolution(ψ::MPS,
circuit::Vector{Vector{ITensor}},
max_bond_dim::Int,
cutoff::Float64;
compute_truncation_error::Bool=false)
Evolve the MPS ψ
according to the Trotterized circuit circuit
. max_bond_dim
controls the maximum bond dimension of the MPS, and cutoff
controls the SVD truncation at each evolution step. At each step, the per-atom <Sz>
observable is computed and stored. If compute_truncation_error
is true
, the error due to truncation is computed at each step. The default is false
.
Computing the truncation error at every step is very computationally expensive.
Returns the <Sz>
value on each atom at each time step, and the truncation error at each time step (0.
at all times if compute_truncation_error
is false
), and ψ
after evolution.
BraketAHS.get_atom_coordinates
— MethodGenerate atom positions from the ahs program.
BraketAHS.get_trotterized_circuit_2d
— Methodget_trotterized_circuit_2d(sites, τ, n_steps, N, Vij::Matrix{Float64})
Second order Trotterization circuit for a time-dependent Hamiltonian, for a time step τ
and n_steps
total time steps, on N
total atoms. sites
defines the site indices in the MPS used to build the circuit. Returns a Vector{Vector{iTensor}}
list of gates at each time step.
BraketAHS.parse_ahs_program
— Methodparse_ahs_program(parsed_args) -> (Vij, protocol, N)
Parse the AHS program stored in JSON format at program_path
and prepare experimental results directory at experiment_path
. Returns prepared experiment protocol protocol
as a NamedTuple
with keys (:time_steps, :rabi_driving, :global_detuning, :local_detuning, :pattern)
. Vij
is the generated inter-atomic potential, and N
is the total number of atoms.