Struct ndarray_einsum_beta::contractors::pair_contractors::MatrixScalarProductGeneral [−][src]
Permutes the axes of the LHS tensor to the output order and multiply all elements by the single scalar in the 0-d RHS tensor.
This contraction can arise when the simplification of the RHS tensor results in all the
axes being summed before the two tensors are contracted. For example, in the contraction
ij,k->ji
, the output matrix is equal to the LHS matrix, transposed and then scalar-multiplied
by the sum of the elements of the RHS tensor.
Fields
lhs_permutation: Permutation
matrix_scalar_product: MatrixScalarProduct
Implementations
impl MatrixScalarProductGeneral
[src]
pub fn new(sc: &SizedContraction) -> Self
[src]
pub fn from_indices(input_indices: &[char], output_indices: &[char]) -> Self
[src]
Trait Implementations
impl Clone for MatrixScalarProductGeneral
[src]
fn clone(&self) -> MatrixScalarProductGeneral
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for MatrixScalarProductGeneral
[src]
impl<A> PairContractor<A> for MatrixScalarProductGeneral
[src]
fn contract_pair<'a, 'b, 'c, 'd>(
&self,
lhs: &'b ArrayViewD<'a, A>,
rhs: &'d ArrayViewD<'c, A>
) -> ArrayD<A> where
'a: 'b,
'c: 'd,
A: Clone + LinalgScalar,
[src]
&self,
lhs: &'b ArrayViewD<'a, A>,
rhs: &'d ArrayViewD<'c, A>
) -> ArrayD<A> where
'a: 'b,
'c: 'd,
A: Clone + LinalgScalar,
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]
&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,
Auto Trait Implementations
impl RefUnwindSafe for MatrixScalarProductGeneral
impl Send for MatrixScalarProductGeneral
impl Sync for MatrixScalarProductGeneral
impl Unpin for MatrixScalarProductGeneral
impl UnwindSafe for MatrixScalarProductGeneral
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,