diff --git a/src/linalg/high_order.rs b/src/linalg/high_order.rs index 359c4a1..493c737 100644 --- a/src/linalg/high_order.rs +++ b/src/linalg/high_order.rs @@ -19,7 +19,7 @@ pub trait HighOrderOperations: BaseMatrix { /// ``` fn ab(&self, a_transpose: bool, b: &Self, b_transpose: bool) -> Self { match (a_transpose, b_transpose) { - (true, true) => self.transpose().matmul(&b.transpose()), + (true, true) => b.matmul(self).transpose(), (false, true) => self.matmul(&b.transpose()), (true, false) => self.transpose().matmul(b), (false, false) => self.matmul(b),