--- a/src/nalgebra_support.rs Sat Sep 06 23:29:34 2025 -0500 +++ b/src/nalgebra_support.rs Sun Sep 07 09:44:43 2025 -0500 @@ -461,6 +461,25 @@ } } +impl<'own, SM, N, M, K, E> SimplyAdjointable<OMatrix<E, M, K>, OMatrix<E, N, K>> + for Matrix<E, N, M, SM> +where + SM: Storage<E, N, M>, + N: Dim, + M: Dim, + K: Dim, + E: Float + RealField, + DefaultAllocator: Allocator<N, K> + Allocator<M, K> + Allocator<M, N>, + ShapeConstraint: StridesOk<E, N, K> + StridesOk<E, M, K>, +{ + type AdjointCodomain = OMatrix<E, M, K>; + type SimpleAdjoint = OMatrix<E, M, N>; + + #[inline] + fn adjoint(&self) -> Self::SimpleAdjoint { + Matrix::adjoint(self) + } +} /// This function is [`nalgebra::EuclideanNorm::metric_distance`] without the `sqrt`. #[inline] fn metric_distance_squared<T, R1, C1, S1, R2, C2, S2>(