Commit Graph

66 Commits

Author SHA1 Message Date
Crozet Sébastien
d17088398a Replace generic-array with a regular array based on min-const-generics. 2021-04-11 13:53:45 +02:00
Jim Turner
cea3bdc8e5 Fix Cholesky::determinant for Complex elements
The previous implementation was correct only for real elements. The
Cholesky decomposition is `L L^H`, so the determinant is `det(L) *
det(L^H)`. Since `L` is a triangular matrix, `det(L)` is the product
of the diagonal elements of `L`. Since `L^H` is triangular and its
diagonal elements are the conjugates of the diagonal elements of `L`,
`det(L^H)` is the conjugate of `det(L)`. So, the overall determinant
is the product of the diagonal elements of `L` times its conjugate.
2021-04-09 14:28:16 -04:00
Jim Turner
50fed194f4 Add determinant method to Cholesky 2021-04-07 23:10:19 -04:00
Crozet Sébastien
2e16057e7b Fix some tests requiring a square matrix. 2021-03-01 10:02:45 +01:00
Crozet Sébastien
6cfd2bca14 Use proptest for all nalgebra tests. 2021-02-28 17:52:14 +01:00
Crozet Sébastien
aeb9f7ea39 Add a matrix.udu() method to compute the UDU decomposition. 2021-02-25 15:49:24 +01:00
Crozet Sébastien
ab0d335b61 Fix tests for the UDU decomposition. 2021-02-25 15:48:44 +01:00
Christopher Rabotin
f6c1aeb07f UDU: add panic test for non symmetric matrix
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
7a49b9eeca UDU: d now stored in VectorN instead of MatrixN
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
a8d40423ea Fixed UDU algorithm
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
d534c3bf9d Trying to break the test to make sure it works
Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Christopher Rabotin
8dda6714b5 Untested UDU implementation
Pushing to trigger build

Signed-off-by: Christopher Rabotin <christopher.rabotin@gmail.com>
2021-02-25 15:48:44 +01:00
Crozet Sébastien
308d95386e Fix all tests and the ColPivQR::solve. 2021-02-25 12:06:04 +01:00
russellb23
63a34528e0 Added test for QR factorization and fixed unpack issue 2021-02-25 11:31:37 +01:00
Crozet Sébastien
57723ef8fb Run cargo fmt. 2020-11-20 17:52:32 +01:00
Crozet Sébastien
e852df6124 Add sections for most Matrix methods. 2020-11-15 16:57:49 +01:00
Crozet Sébastien
d7cb138e22 Fix warnings. 2020-10-25 16:03:07 +01:00
danielschlaugies
f9f7169558
Add matrix exponential for complex matrices (#744)
Added matrix exponential for complex matrices.
2020-07-16 10:29:52 +02:00
sebcrozet
0be9a07f8b Use the #[rustfmt::skip] attribute instead of rustfmt_skip. 2020-06-07 09:30:21 +02:00
Fredrik Jansson
e914afe2af Added support for dynamic matrices 2020-04-12 11:59:06 +02:00
Fredrik Jansson
c7d9e415ce Converted tests to use relative_eq 2020-04-07 09:55:58 +02:00
Fredrik Jansson
dbbf87a3dd Rebased against dev 2020-04-07 09:44:06 +02:00
Fredrik Jansson
c0a6df55b1 Addition of matrix exponent for static size matrices. 2020-04-07 09:41:32 +02:00
sebcrozet
bbb3be512e Run cargo fmt. 2020-04-05 18:49:48 +02:00
sebcrozet
b1857e6a36 Fix compilation of tests. 2020-03-21 23:44:24 +01:00
sebcrozet
b96159aab3 Fix Cholesky for no-std platforms. 2020-03-02 12:45:36 +01:00
Nestor Demeure
59c6a98615 finished cleaning 2020-03-02 12:45:36 +01:00
Nestor Demeure
f54faedc32 tests pass, needs cleanup 2020-03-02 12:45:36 +01:00
Nestor Demeure
b29231cf7b found uneeded storagemut 2020-03-02 12:45:36 +01:00
Nestor Demeure
cfa7bbdc7c remove column is now working 2020-03-02 12:45:36 +01:00
Nestor Demeure
516155025a code cleaned 2020-03-02 12:45:36 +01:00
Nestor Demeure
7347d467ae rank update passed tests 2020-03-02 12:45:36 +01:00
Nestor Demeure
16154f163a added real constraint on sigma 2020-03-02 12:45:36 +01:00
Nestor Demeure
45e6ac7c2a test is now correct 2020-03-02 12:45:36 +01:00
Nestor Demeure
5942a2a125 got test to compile 2020-03-02 12:45:36 +01:00
Nestor Demeure
cc478c6c6d added test for update 2020-03-02 12:45:36 +01:00
sebcrozet
bb06701eff Fix the return type of convolve_same to match the documentation. 2019-03-31 17:04:20 +02:00
sebcrozet
38ef0cbf7b Merge branch 'dev' into complex
# Conflicts:
#	src/base/ops.rs
#	src/geometry/isometry.rs
#	src/geometry/quaternion.rs
#	src/geometry/quaternion_construction.rs
#	src/geometry/rotation.rs
#	src/geometry/similarity.rs
#	src/geometry/transform.rs
#	src/geometry/translation.rs
#	src/geometry/unit_complex.rs
2019-03-31 10:48:59 +02:00
sebcrozet
5b28c39fa7 Rename Complex to ComplexField. 2019-03-25 11:19:36 +01:00
sebcrozet
3cbe60523a 2018 edition. 2019-03-23 14:33:47 +01:00
sebcrozet
921a05d523 Implement some BLAS opertaions involving adjoint. 2019-03-23 11:48:12 +01:00
sebcrozet
1001e8ee0f Cleanup warnings and rename Schur -> RealSchur 2019-03-23 11:46:56 +01:00
sebcrozet
cb367a645d Fix mint tests. 2019-03-19 22:53:21 +01:00
sebcrozet
3edef2f006 Decomposition results: return a real vector whenever applicable.
This includes singular values, eigenvalues of hermitian matrices, tridiagonalization and bidiagonalization diagonal and off-diagonal elements.
2019-03-19 14:22:59 +01:00
sebcrozet
2f0d95bdbb Fix most tests. 2019-03-19 12:00:10 +01:00
sebcrozet
e4748c69ce Start fixing SVD. 2019-03-18 11:23:19 +01:00
sebcrozet
010c009cff Fix Schur decomposition. 2019-03-12 13:15:02 +01:00
Nathan
36feddb8c2 Moving functions into impl for Vector<N,D,S> 2019-03-02 15:00:40 -06:00
sebcrozet
77f048b6b9 WIP use Complex instead of Real whenever possible on the linalg module. 2019-03-02 19:33:49 +01:00
Nathan
28525bfc20 Restructured usage of convolves, added unit testing. 2019-02-24 19:53:09 -06:00