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

pub struct TensordotGeneral {
    lhs_permutation: Permutation,
    rhs_permutation: Permutation,
    tensordot_fixed_position: TensordotFixedPosition,
    output_permutation: Permutation,
}

Computes the tensor dot product of two tensors, with individual permutations of the LHS and RHS performed as necessary, as well as a final permutation of the output.

Examples that qualify for TensordotGeneral but not TensordotFixedPosition:

  1. jik,jkl->il LHS tensor needs to be permuted jik->ijk
  2. ijk,klm->imlj Output tensor needs to be permuted ijlm->imlj

Fields

lhs_permutation: Permutationrhs_permutation: Permutationtensordot_fixed_position: TensordotFixedPositionoutput_permutation: Permutation

Implementations

impl TensordotGeneral[src]

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

fn from_shapes_and_indices(
    lhs_shape: &[usize],
    rhs_shape: &[usize],
    lhs_indices: &[char],
    rhs_indices: &[char],
    contracted_indices: &[char],
    output_indices: &[char]
) -> Self
[src]

pub fn from_shapes_and_axis_numbers(
    lhs_shape: &[usize],
    rhs_shape: &[usize],
    lhs_axes: &[usize],
    rhs_axes: &[usize],
    output_order: &[usize]
) -> Self
[src]

Produces a TensordotGeneral from the shapes and list of axes to be contracted.

Wrapped by the public tensordot function and used by TensordotGeneral::new(). lhs_axes lists the axes from the lhs tensor to contract and rhs_axes lists the axes from the rhs tensor to contract.

Trait Implementations

impl Clone for TensordotGeneral[src]

impl Debug for TensordotGeneral[src]

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

Auto Trait Implementations

Blanket Implementations

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

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.