|
| | Unitary2qBox (const Eigen::Matrix4cd &m, BasisOrder basis=BasisOrder::ilo) |
| | Construct from a given 4x4 unitary matrix.
|
| |
| | Unitary2qBox () |
| | Construct from the identity matrix.
|
| |
| | Unitary2qBox (const Unitary2qBox &other) |
| | Copy constructor.
|
| |
| | ~Unitary2qBox () override |
| |
| Op_ptr | symbol_substitution (const SymEngine::map_basic_basic &) const override |
| | Operation with values for symbols substituted.
|
| |
| SymSet | free_symbols () const override |
| | Set of all free symbols occurring in operation parameters.
|
| |
| bool | is_equal (const Op &op_other) const override |
| | Equality check between two Unitary2qBox instances.
|
| |
| Eigen::Matrix4cd | get_matrix () const |
| | Get the unitary matrix corresponding to this operation.
|
| |
| std::optional< Eigen::MatrixXcd > | get_box_unitary () const override |
| | If meaningful and implemented, return the numerical unitary matrix (in ILO-BE convention) which this Box represents.
|
| |
| Op_ptr | dagger () const override |
| | Inverse (of a unitary operation)
|
| |
| Op_ptr | transpose () const override |
| | Transpose of a unitary operation.
|
| |
| | Box (const OpType &type, const op_signature_t &signature={}) |
| |
| | Box (const Box &other) |
| |
| unsigned | n_qubits () const override |
| | Number of Quantum inputs.
|
| |
| unsigned | n_boolean () const |
| | Number of Boolean inputs.
|
| |
| unsigned | n_classical () const |
| | Number of Classical inputs.
|
| |
| op_signature_t | get_signature () const override |
| | Vector specifying type of data for each port on op.
|
| |
| nlohmann::json | serialize () const override |
| |
| std::shared_ptr< Circuit > | to_circuit () const |
| | Circuit represented by box.
|
| |
| Eigen::MatrixXcd | get_unitary () const override |
| | If meaningful and implemented, return the numerical unitary matrix (in ILO-BE convention) which this Op represents.
|
| |
| boost::uuids::uuid | get_id () const |
| | Unique identifier (preserved on copy)
|
| |
| virtual std::vector< Expr > | get_params () const |
| | Sequence of phase parameters, if applicable.
|
| |
| virtual std::vector< Expr > | get_params_reduced () const |
| | Sequence of phase parameters reduced to canonical range, if applicable.
|
| |
| virtual std::string | get_name (bool latex=false) const |
| | String representation.
|
| |
| virtual std::string | get_command_str (const unit_vector_t &args) const |
| | Command representation.
|
| |
| OpDesc | get_desc () const |
| | Get operation descriptor.
|
| |
| OpType | get_type () const |
| | Get operation type.
|
| |
| virtual std::optional< Pauli > | commuting_basis (port_t i) const |
| | Which Pauli, if any, commutes with the operation at a given port.
|
| |
| virtual bool | commutes_with_basis (const std::optional< Pauli > &colour, port_t i) const |
| | Whether the operation commutes with the given Pauli at the given port.
|
| |
| virtual bool | is_extern () const |
| | return if the op is external
|
| |
| virtual std::optional< double > | is_identity () const |
| | Test whether operation is identity up to a phase and return phase if so.
|
| |
| virtual bool | is_clifford () const |
| | Test whether operation is in the Clifford group.
|
| |
| virtual bool | has_symmetry (unsigned port1, unsigned port2) const |
| | Checks for symmetry of port pairs.
|
| |
| virtual | ~Op () |
| |
| bool | operator== (const Op &other) const |
| |
Two-qubit operation defined as a unitary matrix (ILO-BE)
Definition at line 255 of file Boxes.hpp.