# [−][src]Trait ndarray::linalg::Dot

```pub trait Dot<Rhs> {
type Output;
pub fn dot(&self, rhs: &Rhs) -> Self::Output;
}```

Matrix Multiplication

For two-dimensional arrays, the dot method computes the matrix multiplication.

## Associated Types

### `type Output`[src]

The result of the operation.

For two-dimensional arrays: a rectangular array.

## Implementors

### `impl<A, S, S2> Dot<ArrayBase<S2, Dim<[usize; 1]>>> for ArrayBase<S, Ix1> where    S: Data<Elem = A>,    S2: Data<Elem = A>,    A: LinalgScalar, `[src]

#### `pub fn dot(&self, rhs: &ArrayBase<S2, Ix1>) -> A`[src]

Compute the dot product of one-dimensional arrays.

The dot product is a sum of the elementwise products (no conjugation of complex operands, and thus not their inner product).

Panics if the arrays are not of the same length.
Note: If enabled, uses blas `dot` for elements of `f32, f64` when memory layout allows.

### `impl<A, S, S2> Dot<ArrayBase<S2, Dim<[usize; 1]>>> for ArrayBase<S, Ix2> where    S: Data<Elem = A>,    S2: Data<Elem = A>,    A: LinalgScalar, `[src]

Perform the matrix multiplication of the rectangular array `self` and column vector `rhs`.

The array shapes must agree in the way that if `self` is M × N, then `rhs` is N.

Return a result array with shape M.

Panics if shapes are incompatible.

### `impl<A, S, S2> Dot<ArrayBase<S2, Dim<[usize; 2]>>> for ArrayBase<S, Ix1> where    S: Data<Elem = A>,    S2: Data<Elem = A>,    A: LinalgScalar, `[src]

#### `pub fn dot(&self, rhs: &ArrayBase<S2, Ix2>) -> Array<A, Ix1>`[src]

Perform the matrix multiplication of the row vector `self` and rectangular matrix `rhs`.

The array shapes must agree in the way that if `self` is M, then `rhs` is M × N.

Return a result array with shape N.

Panics if shapes are incompatible.