qsim::unitary::UnitaryCalculatorBasic
#include <unitary_calculator_basic.h>
Quantum circuit unitary calculator without vectorization.
Summary
Public functions
|
ApplyControlledGate(const std::vector< unsigned > & qs, const std::vector< unsigned > & cqs, uint64_t cmask, const fp_type *matrix, Unitary & state) const
|
void
Applies a controlled gate using non-vectorized instructions.
|
ApplyGate(const std::vector< unsigned > & qs, const fp_type *matrix, Unitary & state) const
|
void
Applies a gate using non-vectorized instructions.
|
Public types
Unitary
typename UnitarySpace::Unitary Unitary
fp_type
typename UnitarySpace::fp_type fp_type
Public functions
ApplyControlledGate
void ApplyControlledGate(
const std::vector< unsigned > & qs,
const std::vector< unsigned > & cqs,
uint64_t cmask,
const fp_type *matrix,
Unitary & state
) const
Applies a controlled gate using non-vectorized instructions.
Details |
Parameters |
qs
|
Indices of the qubits affected by this gate.
|
cqs
|
Indices of control qubits.
|
cmask
|
Bit mask of control qubit values.
|
matrix
|
Matrix representation of the gate to be applied.
|
state
|
The state of the system, to be updated by this method.
|
|
ApplyGate
void ApplyGate(
const std::vector< unsigned > & qs,
const fp_type *matrix,
Unitary & state
) const
Applies a gate using non-vectorized instructions.
Details |
Parameters |
qs
|
Indices of the qubits affected by this gate.
|
matrix
|
Matrix representation of the gate to be applied.
|
state
|
The state of the system, to be updated by this method.
|
|
UnitaryCalculatorBasic
UnitaryCalculatorBasic(
unsigned num_qubits,
ForArgs &&... args
)