Commit Graph

71 Commits

Author SHA1 Message Date
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
b0a9eab0b9 Final SVD fix. 2019-03-19 22:52:57 +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
sebcrozet
77f048b6b9 WIP use Complex instead of Real whenever possible on the linalg module. 2019-03-02 19:33:49 +01:00
adamnemecek
975d72f070 Replace explicit types with Self where possible. 2019-02-16 22:29:41 +01:00
sebcrozet
82106caa9e Merge branch 'dev' into master-public
# Conflicts:
#	src/linalg/svd.rs
2018-12-29 14:39:32 +01:00
Jack Wrenn
57123ed6aa Overloaded Indexing 2018-12-29 13:41:56 +01:00
Jack Wrenn
0ab137bfcf Rename Unit::unwrap to Unit::into_inner and deprecate Unit::unwrap
See #460
2018-12-16 12:58:20 +01:00
sebcrozet
14ad10a7e0 Add rustfmt.toml and run it. 2018-10-27 15:00:18 +02:00
João Costa
7a95644a21 Simplify SVD recompose pattern match 2018-10-13 10:55:37 +02:00
João Costa
8b1aa2078c Change the SVD methods to return a Result instead of panicking 2018-10-13 10:55:37 +02:00
Bruce Mitchener
175c41ed3a Typo fixes. 2018-09-24 21:15:07 +02:00
sebcrozet
b272f3ba76 Fix compilation errors when the serde-serialize feature is enabled.
Fix #369.
2018-09-13 07:49:38 +02:00
sebcrozet
cdfa73eba6 Fix warnings. 2018-05-26 22:07:57 +02:00
sebcrozet
40e74e0186 Fix compilation with and without #![no_std]. 2018-05-26 22:07:57 +02:00
sebcrozet
ca093fad29 Move core/* to base/* + add conditional compilation to dynamics matrices when no_std is enabled. 2018-05-26 22:07:57 +02:00
Sébastien Crozet
662cc9cd7f Run rust fmt. 2018-02-03 13:59:05 +01:00
Colin Wallace
e5259130e5 Fix spelling of "below" 2017-10-26 21:13:35 -07:00
Sébastien Crozet
740d19437c Fix unused_result lint errors. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
3e349b80cf Implement serde traits for all linalg structs. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
70bb2cbe46 Implement Clone, Debug, Copy for all linalg structures. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
c258d13f98 Fix stepping for slices.
The previous implementation was wrong compared to what the documentatino claimed.
2017-08-15 19:07:18 +02:00
Sébastien Crozet
053de0576f nalgebra-lapack: unify API of LU.solve and Cholesky.solve with nalgebra. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
00039c0a76 Add methods for computing decompositions. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
a7bce9cf3f symmetric_eigen: allow computing only eigenvalues. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
3f70af97dd Add the most common matrix decompositions. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
99b6181b1e Complete library rewrite.
See comments on #207 for details.
2016-12-04 22:47:36 +01:00
Sébastien Crozet
d45c242a15 Add a Unit wrapper type, remove UnitQuaternion.
The `Unit` wrapper type ensures that elements of the underlying type has a unit norm.
For example, `Unit<Vector3>` designates an element of S².
In particular `UnitQuaternion<N>` is now a type alias for `Unit<Quaternion<N>>`.
2016-08-16 10:27:07 +02:00
Sébastien Crozet
88a74ca4e5 Macro groupping. 2016-08-11 23:28:08 +02:00
Sébastien Crozet
7b4a57c224 Fix some clippy warning.
The following lints were disabled:

* wrong_self_convention
* needless_range_loop
* reverse_range_loop
* len_without_is_empty
* explicit_iter_loop
* many_single_char_names
* similar_names
* too_many_arguments
* float_cmp
* new_without_default
2016-08-11 23:08:21 +02:00
Sébastien Crozet
df872f407d Replace "col" by "column".
Related to #176.
2016-04-18 08:32:12 +02:00
Sébastien Crozet
e6156727f2 Use full names for everything.
Note that `sqdist` becomes `distance_squared` and `sqnorm` becomes `norm_squared`.

Fix #176.
2016-04-17 17:26:58 +02:00
Daniel D
179a6560ce Fix eigenvalue calculation for diagonal matrices 2015-11-14 15:40:35 +01:00
Sébastien Crozet
37f1a1d26c Style fixes. 2015-10-13 22:53:19 +02:00
Daniel
c4753aaf65 Implemented QR algorithm with initial transformation to Hessenberg form and Wilkinson shift for symmetric matrices 2015-09-22 15:17:03 +02:00
Sébastien Crozet
ca3c4e73c5 Fix warnings generated by the last rust-nightly. 2015-08-20 21:41:40 +02:00
Sébastien Crozet
2091cd8da6 Minor codding style fixes. 2015-08-09 14:39:45 +02:00
Daniel
89bbe0f4b4 Removed unused code 2015-08-08 17:52:16 +02:00
Daniel
dc571838bb Added check for symmetricity of input matrix 2015-08-07 15:03:38 +02:00
Daniel
b197959e2b Implemented Cholesky decomposition with tests 2015-08-07 14:44:25 +02:00
Eduard Bopp
bd593a923c Fix a number of warnings
Mostly related to the `us` → `usize` suffix renaming. It turns out that none of
the suffixes are required any more, as the type inference appears to have
improved in that regard. There were also parantheses around range terms that
are not required any more.

Finally the `[]` syntax has been deprecated and thereby removed.
2015-02-21 15:07:50 +01:00
Eduard Bopp
3107dd607b Rename similar in-place and copy methods
Fixes #52.

This renames pairs of methods like `normalize_cpy`, `normalize` to `normalize`
and `normalize_mut`. Note that the previous in-place operations had the same
name that now belongs to the copy operations. Therefore this is a breaking
change.

On a similar note, the `Quat::conjugate` method was also renamed to
`conjugate_mut` and a new copying method has taken its place. This appears to
be a similar issue (apart from the lack of the copy operation) and thus was
dealt with here, too.
2015-02-01 23:23:57 +01:00
Sébastien Crozet
1b6a44e8fb Update to the last rust-nightly.
Version of rustc: 1.0.0-nightly (4874ca36f 2015-01-23 00:18:57 +0000).
2015-01-23 21:48:10 +01:00
Sébastien Crozet
4b47b1e98a Use slice and range syntax when possible. 2015-01-09 22:46:26 +01:00