Skip to main content

mat_mul

Function mat_mul 

Source
pub fn mat_mul<T: Scalar>(a: &Matrix<T>, b: &Matrix<T>) -> Matrix<T>
Expand description

Matrix multiplication: A * B.

Uses BLAS-backed einsum via tenferro for high performance.

§Panics

Panics if a.ncols() != b.nrows().

§Examples

use tensor4all_tcicore::{from_vec2d, matrix::mat_mul};

let a = from_vec2d(vec![vec![1.0_f64, 2.0], vec![3.0, 4.0]]);
let b = from_vec2d(vec![vec![5.0, 6.0], vec![7.0, 8.0]]);
let c = mat_mul(&a, &b);
assert!((c[[0, 0]] - 19.0).abs() < 1e-10);
assert!((c[[0, 1]] - 22.0).abs() < 1e-10);
assert!((c[[1, 0]] - 43.0).abs() < 1e-10);
assert!((c[[1, 1]] - 50.0).abs() < 1e-10);