[][src]Trait dqcsim::common::converter::MatrixConverterArb

pub trait MatrixConverterArb {
    fn detect_matrix_arb(
        &self,
        matrix: &Matrix,
        epsilon: f64,
        ignore_global_phase: bool,
        data: &mut ArbData
    ) -> Result<bool>;
fn construct_matrix_arb(&self, data: &mut ArbData) -> Result<Matrix>; }

A type that represents a possibly parameterized matrix form, allowing conversion between parameters wrapped into an ArbData and the complete matrix.

This is just an extension of MatrixConverter that is automatically implemented for any MatrixConverter with FromArb/ToArb implemented for its parameter type. This allows the trait to be boxed.

Required methods

fn detect_matrix_arb(
    &self,
    matrix: &Matrix,
    epsilon: f64,
    ignore_global_phase: bool,
    data: &mut ArbData
) -> Result<bool>

Detects whether the given matrix has a recognized form and returns the parameters that can be used to reconstruct by mutating the given ArbData object, within the given error margin, and optionally ignoring differences in global phase.

fn construct_matrix_arb(&self, data: &mut ArbData) -> Result<Matrix>

Constructs a matrix by taking information from the given ArbData.

Loading content...

Implementors

impl<T> MatrixConverterArb for T where
    T: MatrixConverter,
    T::Parameters: FromArb + ToArb
[src]

Loading content...