Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
779e82b
start implementation of col piv qr with lapack
geo-ant Aug 16, 2025
36a8539
implement basic decomposition
geo-ant Aug 17, 2025
9aca3c3
keep on keeping on
geo-ant Aug 19, 2025
94c0656
add triangular solve API
geo-ant Aug 19, 2025
dd6eff0
add permutation tests
geo-ant Aug 20, 2025
32e406c
start with rank estimation strategies
geo-ant Aug 20, 2025
da64419
better rank calculation algorithms
geo-ant Aug 26, 2025
fe609b9
implement owned solver API
geo-ant Aug 27, 2025
491b946
add test for solving
geo-ant Aug 27, 2025
a1cb42e
fix error in lapack diag character conversion
geo-ant Aug 27, 2025
8b46c8c
fix test for equality
geo-ant Aug 27, 2025
cac42be
tests for rank deficient problems
geo-ant Aug 27, 2025
0e746e9
add some comments
geo-ant Aug 27, 2025
4b51a73
remove some rambling comments
geo-ant Aug 27, 2025
f65c3bd
add more tests, permutations are inverted I think
geo-ant Aug 27, 2025
69dada9
fix tests for qr decomposition
geo-ant Aug 28, 2025
e9337cd
refactor permutation interface to require less allocations
geo-ant Aug 28, 2025
62d7232
add comments
geo-ant Aug 28, 2025
8057b3d
add test helper for max diagonal matrix
geo-ant Aug 28, 2025
0ce1766
add tests for q matrix
geo-ant Aug 28, 2025
731ee17
refactor q multiplication interface
geo-ant Aug 28, 2025
7f2cf7e
change q multiplication interface, more changes incoming
geo-ant Aug 28, 2025
b87c181
fix dimensions for q multiplication and add test
geo-ant Sep 3, 2025
f990996
remove some superfluous trait bounds
geo-ant Sep 3, 2025
395913b
remove tests for underdetermined rank with qr
geo-ant Sep 3, 2025
6746fc1
stricter assertions, fix compiler warnings
geo-ant Sep 3, 2025
4374e62
factor our error, fix warnings
geo-ant Sep 3, 2025
c404187
start with adding proptest module for colpiv qr
geo-ant Sep 3, 2025
c53ad3e
Qr->QR naming consistent with nalgebra
geo-ant Sep 4, 2025
3f3e7b0
bump lapack and lapack-src versions
geo-ant Sep 4, 2025
98091b3
fmt
geo-ant Sep 4, 2025
345586c
add basic proptests for qr decomposition
geo-ant Sep 4, 2025
03afb53
fmt
geo-ant Sep 4, 2025
8c5f087
test Q^T Q = Id
geo-ant Sep 4, 2025
35cd9b2
fix proptest compile
geo-ant Sep 5, 2025
4d75e57
change col permutation logic and test normal equations for matrix sol…
geo-ant Sep 5, 2025
b47f1a5
fix borked permutation logic'
geo-ant Sep 6, 2025
ce69558
dynamic linear system proptests
geo-ant Sep 6, 2025
27eafb8
move strategy back to my module
geo-ant Sep 6, 2025
26989a1
remove unused imports
geo-ant Sep 6, 2025
30467c0
add documentation, change solver signature slightly
geo-ant Sep 8, 2025
d4e7161
fix comments, replace unwrap error handling
geo-ant Sep 8, 2025
2b77417
make col piv qr public so that it can be used from other crates
geo-ant Sep 15, 2025
2dd811c
Merge branch 'dev' into feature/colpiv-qr-in-nalgebra-lapack
geo-ant Sep 27, 2025
656d3f6
properly expose the unsafety in the lapack backend
geo-ant Sep 28, 2025
c8eda8e
split changelogs as discussed with sebcrozet
geo-ant Sep 28, 2025
1a1b14f
Merge branch 'dimforge:main' into feature/colpiv-qr-in-nalgebra-lapack
geo-ant Sep 29, 2025
997187d
replace unsafe traits with sealed traits
geo-ant Sep 29, 2025
486f240
Merge branch 'dev' into feature/colpiv-qr-in-nalgebra-lapack
geo-ant Sep 29, 2025
fc293c3
Merge branch 'dev' into feature/colpiv-qr-in-nalgebra-lapack
geo-ant Oct 6, 2025
52c73e7
remove outdated links
geo-ant Oct 6, 2025
ba243a0
documentation overhaul, lapack-src updates, better selection of lapac…
geo-ant Oct 7, 2025
291f3b5
add extern crate back, fix num accuracy in tests for mkl
geo-ant Oct 7, 2025
b205822
fix wrong sign in complex conjugate (a + ib)* = a - ib
geo-ant Oct 7, 2025
9ec8e95
migrate complex eigen tests to use proptest for more exhaustive testing
geo-ant Oct 7, 2025
7bbfbac
update changelog
geo-ant Oct 7, 2025
db183d2
update changelog again
geo-ant Oct 7, 2025
9028ab7
fmt changes in docs
geo-ant Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ documented here.

This project adheres to [Semantic Versioning](https://semver.org/).

**nalgebra-lapack change log** is found [here](https://github.com/dimforge/nalgebra/blob/main/nalgebra-lapack/CHANGELOG.md)
starting with `nalgebra-lapack` version `0.27.0`.

## [0.34.1] (20 Sept. 2025)

### Added
Expand Down
13 changes: 13 additions & 0 deletions nalgebra-lapack/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Change Log

For the **changes between versions 0.4.0 and 0.27.0** see the main
[nalgebra change log](https://github.com/dimforge/nalgebra/blob/main/CHANGELOG.md).

## Unreleased

* bugfixes in Schur decomposition
* bugfixes in LU decomposition
* fix failing tests for Cholesky decomposition
* fix compilation with `serde-serialize` feature enabled
* add column-pivoting QR decomposition and solver
* fix logic error in calculation of complex eigenvalues in eigen-decomposition.
* change the feature flags for choosing the lapack backend, update docs accordingly

## [0.4.0] - 2016-09-07

* Made all traits use associated types for their output type parameters. This
Expand Down
22 changes: 13 additions & 9 deletions nalgebra-lapack/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ version = "0.26.0"
authors = ["Sébastien Crozet <developer@crozet.re>", "Andrew Straw <strawman@astraw.com>"]

description = "Matrix decompositions using nalgebra matrices and Lapack bindings."
documentation = "https://www.nalgebra.rs/docs"
homepage = "https://nalgebra.rs"
repository = "https://github.com/dimforge/nalgebra"
readme = "../README.md"
Expand All @@ -17,26 +16,32 @@ edition = "2024"
maintenance = { status = "actively-developed" }

[features]
default = ["lapack-netlib"]
serde-serialize = ["serde", "nalgebra/serde-serialize"]
proptest-support = ["nalgebra/proptest-support"]
arbitrary = ["nalgebra/arbitrary"]
slow-tests = []

# For BLAS/LAPACK
default = ["netlib"]
openblas = ["lapack-src/openblas"]
netlib = ["lapack-src/netlib"]
accelerate = ["lapack-src/accelerate"]
intel-mkl = ["lapack-src/intel-mkl"]
lapack-openblas = ["lapack-src/openblas"]
lapack-netlib = ["lapack-src/netlib"]
lapack-accelerate = ["lapack-src/accelerate"]
lapack-mkl = ["lapack-mkl-static-seq"]
lapack-mkl-static-seq = ["lapack-src/intel-mkl-static-sequential"]
lapack-mkl-static-par = ["lapack-src/intel-mkl-static-parallel"]
lapack-mkl-dynamic-seq = ["lapack-src/intel-mkl-dynamic-sequential"]
lapack-mkl-dynamic-par = ["lapack-src/intel-mkl-dynamic-parallel"]
lapack-custom = []

[dependencies]
nalgebra = { version = "0.34", path = ".." }
num-traits = "0.2"
num-complex = { version = "0.4", default-features = false }
simba = "0.9"
serde = { version = "1.0", features = ["derive"], optional = true }
lapack = { version = "0.19", default-features = false }
lapack-src = { version = "0.8", default-features = false }
lapack = { version = "0.20", default-features = false }
lapack-src = { version = "0.13", optional = true}
thiserror = "1.0"
# clippy = "*"

[dev-dependencies]
Expand All @@ -45,4 +50,3 @@ proptest = { version = "1", default-features = false, features = ["std"] }
quickcheck = "1"
approx = "0.5"
rand = "0.8"

Loading
Loading