Commit Graph

2668 Commits

Author SHA1 Message Date
Anton Arsenij 757b99e843
CSC: Create constructor for unsorted but otherwise valid data (#1015)
* CSC: Create constructor for unsorted but otherwise valid data

* Test creating csc matrix from unsorted but valid data

* Add function for validation and sorting

* Move validation function to cs.rs

* Restore pattern unit test

* Add unit test for 'major offset out of bounds' case

* Avoid permutation allocations on 'happy path'

* Reuse allocated permutation

* Fix comments for test-data examples

* Remove unnecessary iter variable

* Set up buffers for sorting up front

* Use common apply_permutation function

* Use common compute_sort_permutation function

* Move unsafe down to unchecked call

* Add panic cases to documentation

* Remove unnecessary Zero bound

* Move buffer set up away from loop

* Lift T::Zero from cs.rs

* Improve checking if values are provided

* Simplify copying from slices & add test for wrong values length

* Check duplicates after sorting

* Fix formatting

* Check values length at the beginning

* Check length of values if values != None
2022-03-03 10:14:16 +01:00
metric-space c8a920ff2c Minimal post-processing and fix to documentation 2022-02-27 17:17:31 -05:00
Saurabh 46a757fc42 Added missing example file 2022-02-26 18:24:24 -07:00
Hantao Hui 0cae584262 use writeln! macro; replace unsafe with expect 2022-02-25 18:10:34 +01:00
Saurabh 0d2437b5c8 Merge branch 'dev' of https://github.com/dimforge/nalgebra into dev 2022-02-23 14:58:05 -07:00
Saurabh 1323b37607 prealloc everything, remove hashset, make it 4x faster 2022-02-18 11:22:43 -07:00
Saurabh 776fef26c3 add spmm example and change the kernel 2022-02-15 17:38:20 -07:00
metric-space 5e10ca46cb Add another case for when eigenvalues should be mapped to zero. Make method private 2022-02-15 01:45:33 -05:00
Sébastien Crozet f637013aa0
Merge pull request #1077 from wucke13/dev
fix #1073: typo in name of macros feature
2022-02-14 14:20:00 +01:00
Wanja Zaeske 104cb944b9 fix #1073: typo in name of macros feature 2022-02-14 13:55:16 +01:00
Hantao Hui 9e0dfd14de use std::io::Write trait when export to matrix market 2022-02-13 21:16:16 +01:00
metric-space e52f11700f Change name of copied macro base 2022-02-12 02:59:04 -05:00
metric-space 7510d48673 Doc string corrections 2022-02-12 02:52:18 -05:00
metric-space 91b7e05072 Change name of test generator 2022-02-12 02:42:13 -05:00
metric-space b7fe6b9dc1 Name change 2022-02-12 02:37:26 -05:00
metric-space fb0cb513e7 Remove condition number, tests pass without. Add proper test generator for dynamic f64 type square matrices 2022-02-12 02:27:29 -05:00
metric-space 497a4d8bd9 Correction in eigenvector matrices build up algorithm 2022-02-12 02:26:46 -05:00
metric-space a4de6a83cc Corrected deserialization term in serialization impls 2022-02-09 08:48:38 -05:00
Sébastien Crozet 39bb572557
Merge pull request #1074 from saethlin/remove-abomonation
Remove abomonation support
2022-02-07 09:31:40 +01:00
Ben Kimock 18730dd986 2022-02-06 10:03:22 -05:00
metric-space d5069f318e Removed extra memory allocation for buffer (now redundant) 2022-02-05 23:44:05 -05:00
Ben Kimock 698e130c3b Remove abomonation support
Abomonation has numerous soundness problems which have been
well-documented in its issue tracker for over 2 years. Some of them
could be fixed, but some are fundamental to its design. If a user wants
super-fast ser/de, they should use rkyv.
2022-02-05 17:15:08 -05:00
metric-space 4038e6627a Correction to keep naming of left and right eigenvector matrices consistent 2022-02-04 00:13:01 -05:00
metric-space 4362f0004c Added comment on logic 2022-02-04 00:09:29 -05:00
metric-space 55fdd84e1d Formatting 2022-02-03 06:45:29 -05:00
metric-space d88337efa9 Formatting 2022-02-03 06:43:41 -05:00
metric-space 162bb3218d New code and modified tests for qz 2022-02-03 06:36:41 -05:00
metric-space ae35d1cf97 New code and modified tests for generalized_eigenvalues 2022-02-03 06:36:10 -05:00
Hantao Hui 8904c01c7b export to file directly; add a new trait for export 2022-02-03 11:49:15 +01:00
metric-space 748848fea7 Cleanup of QZ module and added GE's calculation of eigenvalues as a test for QZ's calculation of eigenvalues 2022-01-24 23:58:21 -05:00
metric-space 7d8fb3d384 New wrapper for generalized eigenvalues and associated eigenvectors via LAPACK routines sggev/dggev 2022-01-24 23:56:44 -05:00
Hantao Hui d511e372de add support for matrix market export 2022-01-24 23:17:30 +01:00
Sébastien Crozet 7ade44dc1d
Merge pull request #1019 from w1th0utnam3/sparse_serde
Implement Serde Serialize/Deserialize for nalgebra-sparse types
2022-01-24 11:40:51 -08:00
metric-space 7e9345d91e Correction for not calculating absolurte value 2022-01-21 06:41:06 -05:00
metric-space 6a28306074 Commented out failing tests, refactored checks for almost zeroes 2022-01-19 23:51:46 -05:00
metric-space b2c6c6b02d Add non-naive way of calculate generalized eigenvalue, write spotty test for generalized eigenvalues 2022-01-19 21:47:44 -05:00
metric-space 769f20ce6f Comments more tailored to QZ 2022-01-19 02:42:22 -05:00
metric-space 6f7ef387e5 Format file 2022-01-18 22:42:12 -05:00
metric-space 7230ae1e63 First attempt at xgges (qz decomposition), passing tests. Serialization failing across many modules 2022-01-18 22:35:11 -05:00
Fabian Loeschner 99eb8c1589 Revert "Rename nrows/ncols args for try_from_*_data functions for consistency"
This reverts commit 2a3e657b56.
2022-01-13 10:28:00 +01:00
Fabian Loeschner 89f1e855bb Revert "Fix panic in SparsityPattern::try_from_* if major index is out of bounds"
This reverts commit 12afe2917af4c30fc4a17316e453d0830072642c to avoid conflict with #1015.
2022-01-11 10:35:07 +01:00
Fabian Loeschner 38989ed5f0 Move sparse matrix serialization to separate files 2022-01-11 10:35:07 +01:00
Fabian Löschner 583fde05fe Add comment explaining intermediate types for serialization 2022-01-11 10:35:07 +01:00
Fabian Löschner fe70a80e41 Partial revert "Use custom serde errors, make all sparse errs lowercase" 2022-01-11 10:35:07 +01:00
Fabian Loeschner 513178e03e Revert "Updated more error messages"
This reverts commit a42eae45e045c391ede37a7a4328c09cbbb87a0f.
2022-01-11 10:35:07 +01:00
Fabian Löschner 647455dadd Move serialization code to submodules 2022-01-11 10:35:07 +01:00
Fabian Löschner 837ded932e Replace usage of Cow with generic type 2022-01-11 10:35:07 +01:00
Fabian Löschner 49eb1bd778 CI: Run nalgebra-sparse builds with different feature sets, serde tests 2022-01-11 10:35:07 +01:00
Fabian Löschner 9b87fa4ffa Add cfg attribute to Cow imports 2022-01-11 10:35:07 +01:00
Fabian Löschner a8fa7f71c0 Unify separate (de)serialization helper structs by using Cow<'a, [T]> 2022-01-11 10:35:07 +01:00