Skip to content

Commit b9a7246

Browse files
gaumutJean Commère
and
Jean Commère
authored
Dependencies update (#15)
* Dependencies update * Update MSRV to 1.64 and fix some lint * Allow clippy result_large_err & update CI MSRV * Bump MSRV to 1.65 for proptest --------- Co-authored-by: Jean Commère <jcommere@gaumut.com>
1 parent ac9ba2b commit b9a7246

File tree

9 files changed

+23
-21
lines changed

9 files changed

+23
-21
lines changed

.github/workflows/checking.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
toolchain:
13-
- 1.54.0
13+
- 1.65.0
1414
- stable
1515
- nightly
1616
os:

.github/workflows/codequality.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
matrix:
1212
toolchain:
13-
- 1.54.0
13+
- 1.65.0
1414
- stable
1515

1616
steps:

.github/workflows/testing.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
fail-fast: false
1212
matrix:
1313
toolchain:
14-
- 1.54.0
14+
- 1.65.0
1515
- stable
1616
os:
1717
- ubuntu-18.04

Cargo.toml

+5-4
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,22 @@ license = "MIT/Apache-2.0"
77
readme = "README.md"
88
description = "Pure-Rust implementation of linear algebra routines for ndarray"
99
repository = "https://github.com/rust-ml/linfa-linalg"
10+
rust-version = "1.65"
1011

1112
keywords = ["ndarray", "matrix", "linalg"]
1213
categories = ["algorithms", "mathematics", "science"]
1314

1415
[dependencies]
15-
ndarray = { version = "0.15", features = ["approx"] }
16+
ndarray = { version = "0.16", features = ["approx"] }
1617
num-traits = "0.2.0"
1718
thiserror = "1"
1819
rand = { version = "0.8", optional=true }
1920

2021
[dev-dependencies]
21-
approx = "0.4"
22+
approx = "0.5"
2223
proptest = "1.0"
23-
proptest-derive = "0.2.0"
24-
ndarray-rand = "0.14"
24+
proptest-derive = "0.5.0"
25+
ndarray-rand = "0.15"
2526
rand_xoshiro = { version = "0.6" }
2627

2728
[features]

src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
//! linker errors if no BLAS backend is specified.
1111
1212
#![allow(clippy::many_single_char_names)]
13+
#![allow(clippy::result_large_err)]
1314

1415
pub mod bidiagonal;
1516
pub mod cholesky;

src/lobpcg/algorithm.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
//! Locally Optimal Block Preconditioned Conjugated
2+
//!
3+
//! This module implements the Locally Optimal Block Preconditioned Conjugated (LOBPCG) algorithm,
4+
//! which can be used as a solver for large symmetric eigenproblems.
15
use ndarray::concatenate;
26
use ndarray::prelude::*;
37
use num_traits::NumCast;
4-
///! Locally Optimal Block Preconditioned Conjugated
5-
///!
6-
///! This module implements the Locally Optimal Block Preconditioned Conjugated (LOBPCG) algorithm,
7-
///which can be used as a solver for large symmetric eigenproblems.
88
use std::iter::Sum;
99

1010
use crate::{cholesky::*, eigh::*, norm::*, triangular::*};
@@ -100,15 +100,15 @@ fn orthonormalize<T: NdFloat>(v: Array2<T>) -> Result<(Array2<T>, Array2<T>)> {
100100
///
101101
/// # Arguments
102102
/// * `a` - An operator defining the problem, usually a sparse (sometimes also dense) matrix
103-
/// multiplication. Also called the "stiffness matrix".
103+
/// multiplication. Also called the "stiffness matrix".
104104
/// * `x` - Initial approximation of the k eigenvectors. If `a` has shape=(n,n), then `x` should
105-
/// have shape=(n,k).
105+
/// have shape=(n,k).
106106
/// * `m` - Preconditioner to `a`, by default the identity matrix. Should approximate the inverse
107-
/// of `a`.
107+
/// of `a`.
108108
/// * `y` - Constraints of (n,size_y), iterations are performed in the orthogonal complement of the
109-
/// column-space of `y`. It must be full rank.
109+
/// column-space of `y`. It must be full rank.
110110
/// * `tol` - The tolerance values defines at which point the solver stops the optimization. The approximation
111-
/// of a eigenvalue stops when then l2-norm of the residual is below this threshold.
111+
/// of a eigenvalue stops when then l2-norm of the residual is below this threshold.
112112
/// * `maxiter` - The maximal number of iterations
113113
/// * `order` - Whether to solve for the largest or lowest eigenvalues
114114
///

src/lobpcg/eig.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ impl<A: NdFloat + Sum, R: Rng> Iterator for TruncatedEigIterator<A, R> {
274274
let eigvecs_arr: Vec<_> = constraints
275275
.columns()
276276
.into_iter()
277-
.chain(eigvecs.columns().into_iter())
277+
.chain(eigvecs.columns())
278278
.collect();
279279

280280
stack(Axis(1), &eigvecs_arr).unwrap()

src/lobpcg/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
//! ```
88
//! where A is symmetric and (x, lambda) the solution. It has the following advantages:
99
//! * matrix free: does not require storing the coefficient matrix explicitely and only evaluates
10-
//! matrix-vector products.
10+
//! matrix-vector products.
1111
//! * factorization-free: does not require any matrix decomposition
1212
//! * linear-convergence: theoretically guaranteed and practically observed
1313
//!

src/lobpcg/svd.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
///! Truncated singular value decomposition
2-
///!
3-
///! This module computes the k largest/smallest singular values/vectors for a dense matrix.
1+
//! Truncated singular value decomposition
2+
//!
3+
//! This module computes the k largest/smallest singular values/vectors for a dense matrix.
44
use crate::{
55
lobpcg::{lobpcg, random, Lobpcg},
66
Order, Result,

0 commit comments

Comments
 (0)