[][src]Struct ndarray_einsum_beta::contractors::pair_contractors::ScalarMatrixProductGeneral

pub struct ScalarMatrixProductGeneral {
    rhs_permutation: Permutation,
    scalar_matrix_product: ScalarMatrixProduct,
}

Permutes the axes of the RHS tensor to the output order and multiply all elements by the single scalar in the 0-d LHS tensor.

This contraction can arise when the simplification of the LHS tensor results in all the axes being summed before the two tensors are contracted. For example, in the contraction i,jk->kj, the output matrix is equal to the RHS matrix, transposed and then scalar-multiplied by the sum of the elements of the LHS tensor.

Fields

rhs_permutation: Permutationscalar_matrix_product: ScalarMatrixProduct

Methods

impl ScalarMatrixProductGeneral[src]

pub fn new(sc: &SizedContraction) -> Self[src]

pub fn from_indices(input_indices: &[char], output_indices: &[char]) -> Self[src]

Trait Implementations

impl<A> PairContractor<A> for ScalarMatrixProductGeneral[src]

fn contract_and_assign_pair<'a, 'b, 'c, 'd, 'e, 'f>(
    &self,
    lhs: &'b ArrayViewD<'a, A>,
    rhs: &'d ArrayViewD<'c, A>,
    out: &'f mut ArrayViewMutD<'e, A>
) where
    'a: 'b,
    'c: 'd,
    'e: 'f,
    A: Clone + LinalgScalar
[src]

impl Clone for ScalarMatrixProductGeneral[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for ScalarMatrixProductGeneral[src]

Auto Trait Implementations

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]