Struct ndarray_einsum_beta::contractors::pair_contractors::ScalarMatrixProductGeneral [−][src]
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: Permutation
scalar_matrix_product: ScalarMatrixProduct
Implementations
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 Clone for ScalarMatrixProductGeneral
[src]
fn clone(&self) -> ScalarMatrixProductGeneral
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for ScalarMatrixProductGeneral
[src]
impl<A> PairContractor<A> for ScalarMatrixProductGeneral
[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 ScalarMatrixProductGeneral
impl Send for ScalarMatrixProductGeneral
impl Sync for ScalarMatrixProductGeneral
impl Unpin for ScalarMatrixProductGeneral
impl UnwindSafe for ScalarMatrixProductGeneral
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>,