Commit Graph

58 Commits

Author SHA1 Message Date
Violeta Hernández
87fe2b30df Checkpoint #9 2021-07-16 23:17:56 -05:00
Malte Tammena
e1fe76235f Normalize #[must_use] hints 2021-06-07 16:44:59 +02:00
Malte Tammena
9fb963017f Simplify default #[must_use] annotation 2021-06-07 16:34:03 +02:00
Malte Tammena
39aa52d019 Add must_use annotations in src/**/*.rs 2021-06-06 14:46:36 +02:00
Malte Tammena
d85c10a73c Add some missing question marks 2021-06-06 11:34:29 +02:00
Malte Tammena
925fc1edd7 Annotate functions with #[must_use] where appropriate 2021-06-06 11:28:12 +02:00
Crozet Sébastien
95b021dbfb Don't enable serde by default.
Don't enable `serde/std` by default.
Add a `serde-serialize-no-std` feature to enable serde without its default features.
2021-04-12 12:14:16 +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
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
Avi Weinstock
cd12422d6f Change zero_or_uninitialized_generic to unimplemented_or_uninitialized_generic, and use it instead of manually dispatching on feature=no_unsound_assume_init in functions without N: Zero. 2021-02-25 13:42:23 +01:00
Avi Weinstock
36a3ac814f Propagate mem::MaybeUninit through the return types of Allocator::allocate_uninitialized and Matrix::new_uninitialized_generic.
Most call sites still invoke UB through `assume_init`. Said call sites instead invoke `unimplemented!()` if the `no_unsound_assume_init` feature is enabled, to make it easier to gradually fix them.

Progress towards #556.
2021-02-25 13:42:23 +01:00
Crozet Sébastien
45f2fc4f92 Move all matrix decomposition methods under a single impl. 2020-11-13 17:26:47 +01:00
Michael Stevens
0a0799f76a Remove unnecessary Trait bound DimSub<Dynamic> in fn cholesky(self) 2020-08-03 18:20:26 +02:00
sebcrozet
2c2d1e4f07 Run cargo fmt. 2020-06-07 09:07:25 +02:00
Sébastien Crozet
3359e25435 Cholesky: add unchecked construction compatible with AoSoA SIMD. 2020-06-07 09:05:10 +02:00
sebcrozet
bbb3be512e Run cargo fmt. 2020-04-05 18:49:48 +02:00
sebcrozet
f8cd26cfa9 Replace alga by simba. 2020-03-21 12:16:46 +01:00
Nestor Demeure
50ad84e4b1 Update cholesky.rs
corrected typo ni doc for `xx_rank_one_update`
2020-03-02 12:45:36 +01:00
sebcrozet
cd8fc9285f Add some missing spaces. 2020-03-02 12:45:36 +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
3d08a80d8d needs faster matrix initialization 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
27a2045389 insert does compile 2020-03-02 12:45:36 +01:00
Nestor Demeure
c613360a5c insert does not compile yet 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
498c6ef60b added template for remove_column 2020-03-02 12:45:36 +01:00
Nestor Demeure
e583e37d1c finally got the correct type for insert column 2020-03-02 12:45:36 +01:00
Nestor Demeure
2f18aee212 added assertion 2020-03-02 12:45:36 +01:00
Nestor Demeure
3d170e1684 removed useless if 2020-03-02 12:45:36 +01:00
Nestor Demeure
b2a50404b6 code cleaned 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
96c16af66f updated comment 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
5942a2a125 got test to compile 2020-03-02 12:45:36 +01:00
Nestor Demeure
0c9451165d first version of rank one update 2020-03-02 12:45:36 +01: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
ce24ea972e Remove all spurious allocation introduced by complex number support on decompositions. 2019-03-23 14:13:00 +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
77f048b6b9 WIP use Complex instead of Real whenever possible on the linalg module. 2019-03-02 19:33:49 +01:00
Jack Wrenn
57123ed6aa Overloaded Indexing 2018-12-29 13:41:56 +01:00
sebcrozet
14ad10a7e0 Add rustfmt.toml and run it. 2018-10-27 15:00:18 +02:00
Bruce Mitchener
175c41ed3a Typo fixes. 2018-09-24 21:15:07 +02:00