Function russell_lab::mat_t_mat_mul
source · [−]Expand description
Performs the matrix(transposed)-matrix multiplication resulting in a matrix
c := α ⋅ aᵀ ⋅ b
(m,n) (m,k) (k,n)
a:(k,m)
Example
use russell_lab::{mat_t_mat_mul, Matrix, StrError};
fn main() -> Result<(), StrError> {
let a = Matrix::from(&[
[1.0, 3.0, 5.0],
[2.0, 4.0, 6.0],
]);
let b = Matrix::from(&[
[-1.0, -2.0, -3.0],
[-4.0, -5.0, -6.0],
]);
let mut c = Matrix::new(3, 3);
mat_t_mat_mul(&mut c, 1.0, &a, &b);
let correct = "┌ ┐\n\
│ -9 -12 -15 │\n\
│ -19 -26 -33 │\n\
│ -29 -40 -51 │\n\
└ ┘";
assert_eq!(format!("{}", c), correct);
Ok(())
}