#include <GateUnitaryMatrixUtils.hpp>
|
static Eigen::Matrix4cd | get_controlled_gate_unitary (const Eigen::Matrix2cd &u) |
| For an arbitrary 1-qubit gate represented by a unitary, compute the unitary of the 2-qubit gate, in ILO-BE convention, obtained by adding a control qubit before the target qubit.
|
|
static Eigen::MatrixXcd | get_multi_controlled_gate_dense_unitary (const Eigen::MatrixXcd &u, unsigned int number_of_qubits) |
| For an arbitrary unitary matrix representing an m-qubit gate, (although unitarity is not checked), in ILO-BE convention, return the matrix of the N-qubit gate obtained by adding control qubits before the target qubits.
|
|
static std::string | get_error_prefix (const std::string &op_name, unsigned number_of_qubits, const std::vector< double > ¶meters) |
| Used to get consistent error messages.
|
|
static std::string | get_error_prefix (OpType op_type, unsigned number_of_qubits, const std::vector< double > ¶meters) |
|
static void | check_and_throw_upon_wrong_number_of_parameters (OpType op_type, unsigned number_of_qubits, const std::vector< double > ¶meters, unsigned expected_number_of_parameters) |
| Throws if the number of parameters doesn't match expectations.
|
|
static std::vector< double > | get_checked_parameters (const Gate &gate) |
| Converts the parameters into doubles, with checks that they all have finite numerical values.
|
|
Definition at line 26 of file GateUnitaryMatrixUtils.hpp.
◆ check_and_throw_upon_wrong_number_of_parameters()
void tket::internal::GateUnitaryMatrixUtils::check_and_throw_upon_wrong_number_of_parameters |
( |
OpType |
op_type, |
|
|
unsigned |
number_of_qubits, |
|
|
const std::vector< double > & |
parameters, |
|
|
unsigned |
expected_number_of_parameters |
|
) |
| |
|
static |
◆ get_checked_parameters()
std::vector< double > tket::internal::GateUnitaryMatrixUtils::get_checked_parameters |
( |
const Gate & |
gate | ) |
|
|
static |
◆ get_controlled_gate_unitary()
Eigen::Matrix4cd tket::internal::GateUnitaryMatrixUtils::get_controlled_gate_unitary |
( |
const Eigen::Matrix2cd & |
u | ) |
|
|
static |
For an arbitrary 1-qubit gate represented by a unitary, compute the unitary of the 2-qubit gate, in ILO-BE convention, obtained by adding a control qubit before the target qubit.
- Parameters
-
u | The 2x2 unitary (although unitarity is not checked). |
Definition at line 26 of file GateUnitaryMatrixUtils.cpp.
◆ get_error_prefix() [1/2]
std::string tket::internal::GateUnitaryMatrixUtils::get_error_prefix |
( |
const std::string & |
op_name, |
|
|
unsigned |
number_of_qubits, |
|
|
const std::vector< double > & |
parameters |
|
) |
| |
|
static |
◆ get_error_prefix() [2/2]
std::string tket::internal::GateUnitaryMatrixUtils::get_error_prefix |
( |
OpType |
op_type, |
|
|
unsigned |
number_of_qubits, |
|
|
const std::vector< double > & |
parameters |
|
) |
| |
|
static |
◆ get_multi_controlled_gate_dense_unitary()
Eigen::MatrixXcd tket::internal::GateUnitaryMatrixUtils::get_multi_controlled_gate_dense_unitary |
( |
const Eigen::MatrixXcd & |
u, |
|
|
unsigned int |
number_of_qubits |
|
) |
| |
|
static |
For an arbitrary unitary matrix representing an m-qubit gate, (although unitarity is not checked), in ILO-BE convention, return the matrix of the N-qubit gate obtained by adding control qubits before the target qubits.
- Parameters
-
u | General unitary matrix (although unitarity is not checked). |
number_of_qubits | Total number of qubits (controls and targets). |
Definition at line 34 of file GateUnitaryMatrixUtils.cpp.
The documentation for this struct was generated from the following files: