Sébastien Crozet
c23807ac5d
feat: use GAT to remove the scalar type T from the Allocator trait ( #1397 )
2024-06-12 11:16:06 +02:00
Vollkornaffe
c475c4000c
Fix numerical issue on SVD with near-identity matrix ( #1369 )
...
* fix: Normalize the column once more
The column may not be normalized if the `factor` is on a scale of 1e-40.
Possibly, f32 just runs out of precision.
There is likely a better solution to the problem.
* chore: Add test that fails before fix
* chore: add comment providing details on the householder fix.
* chore: rename regression test
---------
Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2024-03-28 15:26:11 +01:00
Rasmus Brönnegård
03c24fb369
Add unit tests for issue 1313
2023-11-09 00:53:42 +01:00
Chris Ohk
fd97a82926
fix: Correct minor typos
2023-02-01 15:48:06 +09:00
Sébastien Crozet
711ac67da9
Deplecate Dynamic and Dynamic::new
2023-01-14 16:22:40 +01:00
YuhanLiin
a27d121a7a
Add regression test for #1072
2022-03-09 21:10:45 -05:00
YuhanLiin
1acd48f6f1
Address review comments
2022-03-09 21:04:43 -05:00
YuhanLiin
325618ba22
Fix SVD instability bug
2022-03-09 02:13:12 -05:00
Sébastien Crozet
c0f8530d5e
Merge pull request #1055 from dimforge/fix-pow
...
Fix Matrix::pow and make it work with integer matrices
2021-12-31 09:57:56 +01:00
metric-space
498d7e3d4c
Semi-unitary test checks for if rows or cols are orthonomal
2021-12-30 21:18:58 -05:00
metric-space
ae6fda7dc7
Change svd to svd_unordered for the method output to be equal
...
Comment out unitary check for now
2021-12-30 21:12:37 -05:00
Sébastien Crozet
fdaf8c0fbe
Add tests for Matrix::pow
2021-12-30 23:03:22 +01:00
Sébastien Crozet
67a82c2c88
Test: minor style fix
2021-12-30 22:28:55 +01:00
Sébastien Crozet
8e0ca439c2
Use proptest for testing the polar decomposition
2021-12-30 22:15:22 +01:00
metric-space
43c1f8fb9d
Increased strength of tests for polar decomposition
2021-12-27 02:12:54 -05:00
metric-space
ac94fbe831
Add polar decomposition method to main matrix decomposition interface
...
Add one more test for decomposition of polar decomposition of rectangular matrix
2021-12-26 21:01:05 -05:00
metric-space
6ac6e7f75e
First compiling commit for take-2 of polar-decomposition:
...
Code inspired by this thread: https://github.com/dimforge/nalgebra/pull/656
Main person behind this is LucasCampos
2021-12-22 00:12:27 -05:00
Sébastien Crozet
88dd5442f3
Add an utility function to check if a slice is sorted in descending order.
2021-12-09 13:32:30 +01:00
Sébastien Crozet
412104fa0a
Add comment about the origin of the failing 3x3 SVD matrix
2021-12-09 13:31:39 +01:00
Sébastien Crozet
e0a1b1bc34
Fix the special-case for 3x3 Real SVD
2021-12-09 11:52:37 +01:00
Sébastien Crozet
49e9ceea30
Add dedicated implementations of SVD for 2x2 and 3x3 real matrices.
2021-11-26 17:45:42 +01:00
Christopher Gundler
24d29c4de3
Allow sorting SVD according to singular values
2021-11-08 10:27:53 +01:00
Mateusz Kowalczyk
d50af9dbfb
Add test for Cholesky::new_with_substitute
2021-09-13 09:08:37 +09:00
Sébastien Crozet
148b164aaa
Fix tests
2021-08-04 17:56:57 +02:00
Violeta Hernández
281b140365
Fix most clippy warnings
2021-06-18 09:45:37 +02:00
Crozet Sébastien
cc4427e52b
Make matrix power work for non-owned matrices.
2021-04-11 14:07:06 +02:00
Crozet Sébastien
24d546d3b6
Rename generic parameter N -> T
2021-04-11 13:57:54 +02:00
Crozet Sébastien
23a7d7475b
First compiling version after migrating the geometry module to const-generics.
2021-04-11 13:53:45 +02:00
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