Trait gad::matrix::MatrixAlgebra[][src]

pub trait MatrixAlgebra<Value> {
    fn matmul(
        &mut self,
        v1: &Value,
        v2: &Value,
        prop1: MatProp,
        prop2: MatProp
    ) -> Result<Value>;
fn transpose(&mut self, v: &Value, conjugate: bool) -> Result<Value>; fn matmul_nn(&mut self, v1: &Value, v2: &Value) -> Result<Value> { ... } }

Matric operations such as multiplication and transposition.

Required methods

fn matmul(
    &mut self,
    v1: &Value,
    v2: &Value,
    prop1: MatProp,
    prop2: MatProp
) -> Result<Value>
[src]

Multiplication of two matrices after some optional transpositions.

fn transpose(&mut self, v: &Value, conjugate: bool) -> Result<Value>[src]

Transpose (and optionally conjuguate) a matrix.

Loading content...

Provided methods

fn matmul_nn(&mut self, v1: &Value, v2: &Value) -> Result<Value>[src]

Non-transposed multiplication of two matrices.

Loading content...

Implementors

impl<D, E, Dims> MatrixAlgebra<Value<D>> for Graph<Config1<E>> where
    E: Default + Clone + CoreAlgebra<D, Value = D> + LinkedAlgebra<Value<D>, D> + MatrixAlgebra<D>,
    D: HasDims<Dims = Dims> + Clone + 'static + Send + Sync,
    Dims: PartialEq + Debug + Clone + 'static + Send + Sync
[src]

impl<D, E, Dims> MatrixAlgebra<Value<D>> for Graph<ConfigN<E>> where
    E: Default + Clone + CoreAlgebra<D, Value = D> + LinkedAlgebra<Value<D>, D> + MatrixAlgebra<D>,
    D: HasDims<Dims = Dims> + Clone + 'static + Send + Sync,
    Dims: PartialEq + Debug + Clone + 'static + Send + Sync
[src]

Loading content...