# ConvolutionHyper.jl

Documentation for ConvolutionHyper.jl

ConvolutionHyper.longlongexperimentMethod
longlongexperiment(basefilename::String, error::Error, interval::StepRange)

Computes a list of overlaps storing the result in files with common name basefilename. Moreover, it outputs the theoretical eigenvalues (the values we want to estimate by fitting), and the theoretical AGF. It uses as input states, automatically, state 0 and state +.

Arguments

• basefilename root of the filename.
• error gate set. See compute_gateset.
• interval the values used for the computation.

Examples

julia> error = Error(ConvolutionHyper.diagerror, ConvolutionHyper.overrotation, .9999, .99)
julia> longlongexperiment("unique005_1to20_diag9999rot99_",error, 1:50:2000)
source

## Structures

ConvolutionHyper.ErrorType
Error

Structure used to store a gate set. It gets as input two error channels with the respective fidelities. errorphase is the error associated with the diagonal gates, while errorrot corresponds to the powers of the X gate. The fidelities are fidelityphase and fidelityrot.

Examples

julia>  Error(ConvolutionHyper.diagerror, ConvolutionHyper.overrotation, .9999, .99)

source
ConvolutionHyper.GateType
Gate

Structure used to store a gate set member.

Fields

- word a tuple of three numbres. (a,b,c), where a lies between 0 and 2
while b and c between 0 and 8.
- errorphase is a function from matrices to matrices.
- errorrot is a function from matrices to matrices.

Examples

julia> error1 = ConvolutionHyper.diagerror(.9999)
julia> error2 = ConvolutionHyper.overrotation(.9999)
julia>  Gate((1,2,3), error1, error2)


compute_gateset

source

## Errors

In this section of the documentation, we showcase the different errors this package has available.

### Matrices

Here we expose the methods used to compute matrices that, when conjugated, are used as error channels.

ConvolutionHyper.diagerrorMethod
diagerror(fidelity)

For a given fidelity value fidelity, returns a matrix corresponding to a phase error.

Examples

julia> diagerror(0.99)
source
ConvolutionHyper.overrotationFunction
overrotation(fidelity::Float64)

For a given fidelity value fidelity, returns a matrix corresponding to a over rotation error. The matrix is random, as it uses a matrix randomly sampled from the Haar ensemble.

Examples

julia> overrotation(0.99)
source

## Important functions

Every procedure is a different collections of rb_step call.

ConvolutionHyper.rb_stepMethod
rb_step(circuit_length, initial_state, gate_set)

Elemental step in RB procedures. The computation of an overlap $\langle\rho \vert\text{channel}\vert\rho\rangle$.

Arguments

• circuit_length, integer value corresponding to the depth of the circuit.
• initial_state, a density matrix.
• gate_set, a list of Gate structures. In physical terms, a list of channels meant to model some gate implementation.

Examples

julia> random_paulichannel = paulichannel_byfidelity(0.99)
julia> random_paulichannel(diagm([1.,0,0]))

compute_gateset