diff --git a/Cargo.toml b/Cargo.toml index f83889e..925d4ba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,12 +20,12 @@ datasets = [] [dependencies] ndarray = { version = "0.15", optional = true } -nalgebra = { version = "0.23.0", optional = true } -num-traits = "0.2.12" -num = "0.4.0" -rand = "0.8.3" -rand_distr = "0.4.0" -serde = { version = "1.0.115", features = ["derive"], optional = true } +nalgebra = { version = "0.26", optional = true } +num-traits = "0.2" +num = "0.4" +rand = "0.8" +rand_distr = "0.4" +serde = { version = "1", features = ["derive"], optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2", features = ["js"] } diff --git a/src/linalg/nalgebra_bindings.rs b/src/linalg/nalgebra_bindings.rs index 249f21f..56f552c 100644 --- a/src/linalg/nalgebra_bindings.rs +++ b/src/linalg/nalgebra_bindings.rs @@ -40,7 +40,7 @@ use std::iter::Sum; use std::ops::{AddAssign, DivAssign, MulAssign, Range, SubAssign}; -use nalgebra::{DMatrix, Dynamic, Matrix, MatrixMN, RowDVector, Scalar, VecStorage, U1}; +use nalgebra::{Const, DMatrix, Dynamic, Matrix, OMatrix, RowDVector, Scalar, VecStorage, U1}; use crate::linalg::cholesky::CholeskyDecomposableMatrix; use crate::linalg::evd::EVDDecomposableMatrix; @@ -53,7 +53,7 @@ use crate::linalg::Matrix as SmartCoreMatrix; use crate::linalg::{BaseMatrix, BaseVector}; use crate::math::num::RealNumber; -impl BaseVector for MatrixMN { +impl BaseVector for OMatrix { fn get(&self, i: usize) -> T { *self.get((0, i)).unwrap() } @@ -198,7 +198,7 @@ impl Self::RowVector { let (nrows, ncols) = self.shape(); - self.reshape_generic(U1, Dynamic::new(nrows * ncols)) + self.reshape_generic(Const::<1>, Dynamic::new(nrows * ncols)) } fn get(&self, row: usize, col: usize) -> T { @@ -955,7 +955,7 @@ mod tests { #[test] fn pow_mut() { let mut a = DMatrix::from_row_slice(1, 3, &[1., 2., 3.]); - a.pow_mut(3.); + BaseMatrix::pow_mut(&mut a, 3.); assert_eq!(a, DMatrix::from_row_slice(1, 3, &[1., 8., 27.])); }