diff --git a/lax/src/lib.rs b/lax/src/lib.rs index 769910db..9565dcab 100644 --- a/lax/src/lib.rs +++ b/lax/src/lib.rs @@ -107,6 +107,7 @@ pub trait Lapack: + Eigh_ + Triangular_ + Tridiagonal_ + + LeastSquaresSvdDivideConquer_ { } diff --git a/ndarray-linalg/src/least_squares.rs b/ndarray-linalg/src/least_squares.rs index 4e629a4e..df99f0e8 100644 --- a/ndarray-linalg/src/least_squares.rs +++ b/ndarray-linalg/src/least_squares.rs @@ -152,7 +152,7 @@ where /// valid representation for `ArrayBase`. impl LeastSquaresSvd for ArrayBase where - E: Scalar + Lapack + LeastSquaresSvdDivideConquer_, + E: Scalar + Lapack, D: Data, { /// Solve a least squares problem of the form `Ax = rhs` @@ -175,7 +175,7 @@ where /// valid representation for `ArrayBase`. impl LeastSquaresSvd for ArrayBase where - E: Scalar + Lapack + LeastSquaresSvdDivideConquer_, + E: Scalar + Lapack, D: Data, { /// Solve a least squares problem of the form `Ax = rhs` @@ -200,7 +200,7 @@ where /// valid representation for `ArrayBase`. impl LeastSquaresSvdInto for ArrayBase where - E: Scalar + Lapack + LeastSquaresSvdDivideConquer_, + E: Scalar + Lapack, D: DataMut, { /// Solve a least squares problem of the form `Ax = rhs` @@ -226,7 +226,7 @@ where /// valid representation for `ArrayBase`. impl LeastSquaresSvdInto for ArrayBase where - E: Scalar + Lapack + LeastSquaresSvdDivideConquer_, + E: Scalar + Lapack, D: DataMut, { /// Solve a least squares problem of the form `Ax = rhs` @@ -366,7 +366,7 @@ fn compute_least_squares_nrhs( rhs: &mut ArrayBase, ) -> Result> where - E: Scalar + Lapack + LeastSquaresSvdDivideConquer_, + E: Scalar + Lapack, D1: DataMut, D2: DataMut, { @@ -376,7 +376,7 @@ where singular_values, rank, } = unsafe { - ::least_squares_nrhs( + E::least_squares_nrhs( a_layout, a.as_allocated_mut()?, rhs_layout,