noise.jl
Public functions
QuantumACES.DepolarisingParameters
— TypeDepolarisingParameters
Parameterises a depolarising Pauli noise model.
Fields
r_1::Float64
: Single-qubit gate entanglement infidelity, the sum of all 3 non-identity Pauli error probabilities.r_2::Float64
: Two-qubit gate entanglement infidelity, the sum of all 15 non-identity Pauli error probabilities.r_m::Float64
: Measurement entanglement infidelity, the measurement error probability.noise_name::String
: Noise parameter name for saving data.
QuantumACES.LognormalParameters
— TypeLognormalParameters
Parameterises a log-normally random Pauli noise model.
Fields
r_1::Float64
: Average single-qubit gate entanglement infidelity, the sum of all 3 non-identity Pauli error probabilities.r_2::Float64
: Average two-qubit gate entanglement infidelity, the sum of all 15 non-identity Pauli error probabilities.r_m::Float64
: Average measurement entanglement infidelity, the measurement error probability.total_std_log::Float64
: Approximate standard deviation of the logarithm of the entanglement infidelity across all gate types.seed::UInt64
: Random seed used to generate the noise.noise_name::String
: Noise parameter name for saving data.
QuantumACES.get_dep_param
— Methodget_dep_param(r_1::Float64, r_2::Float64, r_m::Float64)
Return a DepolarisingParameters
object that parameterises a depolarising Pauli noise model with single-qubit, two-qubit, and measurement infidelities r_1
, r_2
, and r_m
, respectively.
QuantumACES.get_gate_probabilities
— Methodget_gate_probabilities(total_gates::Vector{Gate}, noise_param::DepolarisingParameters)
get_gate_probabilities(total_gates::Vector{Gate}, noise_param::LognormalParameters)
Returns a dictionary of the Pauli error probabilities for each gate in total_gates
generated according to the noise parameters noise_param
.
The order in which Pauli
stores Pauli operators as bit strings orders the Pauli error probabilities for each gate. For single-qubit gates, the Pauli error probabilities are ordered as I
, X
, Z
, Y
. For two-qubit gates, the Pauli error probabilities are ordered as II
, XI
, IX
, XX
, ZI
, YI
, ZX
, YX
, IZ
, XZ
, IY
, XY
, ZZ
, YZ
, ZY
, YY
.
QuantumACES.get_log_param
— Methodget_log_param(r_1::Float64, r_2::Float64, r_m::Float64, total_std_log::Float64; seed::Union{UInt64, Nothing} = nothing)
Return a LognormalParameters
object that parameterises a log-normally random Pauli noise model with average single-qubit, two-qubit, and measurement infidelities r_1
, r_2
, and r_m
, respectively, approximate standard deviation of the logarithm of the entanglement infidelity total_std_log
, and random seed seed
, which is randomly generated if not supplied.
Private functions
QuantumACES.get_gate_eigenvalues
— Methodget_gate_eigenvalues(gate_probabilities::Dict{Gate, Vector{Float64}}, total_gates::Vector{Gate}, gate_index::Dict{Gate, Int}, N::Int)
Returns the eigenvalues corresponding to the supplied Pauli error probabilities gate_probabilities
, ordered by the gates into a vector for the gates total_gates
using the index data gate_index
and N
produced by index_gates
.