daingun
a5b2a4ceb7
Merge pull request #1 from daingun/patch-1
...
Correct Schur decomposition for 2x2 matrices
2020-03-02 12:45:36 +01:00
sebcrozet
b96159aab3
Fix Cholesky for no-std platforms.
2020-03-02 12:45:36 +01:00
daingun
50417494ec
Use same algorithm to solve 2x2 eigenvalue problem
...
The eigenvalue problem is solved in two different method that use different methods
to calculate the discriminant of the solution to the quadratic equation.
Use the method whose computation is considered more stable.
2020-03-02 12:45:36 +01:00
daingun
667c49d0e1
Correct Schur decomposition for 2x2 matrices
...
Due to rounding and possible loss of precision the lower left element of the 2x2 matrix
may be different from zero.
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
daingun
1103d49b80
Correct Schur decomposition for 2x2 matrices
...
Due to rounding and possible loss of precision the lower left element of the 2x2 matrix
may be different from zero.
2020-03-02 12:45:35 +01:00
Nestor Demeure
6f1e924e40
used Storage trait for solve
...
see issue 667
2020-03-02 12:45:35 +01:00
Nestor Demeure
ffb69d5a6f
used Storage trait for solve method
...
as per issue 667 https://github.com/rustsim/nalgebra/issues/667
2020-03-02 12:45:35 +01:00
Nestor Demeure
456a5a84e7
Used Storage trait for solve method
...
See issue 667 : https://github.com/rustsim/nalgebra/issues/667
2020-03-02 12:45:35 +01:00
Christian Authmann
589aebbf85
Add #[must_use] to all functions with a _mut variant ( #598 )
2019-06-05 23:04:04 +02:00
Sébastien Crozet
b5f452087e
Release v0.18.0
2019-03-31 17:32:40 +02:00
sebcrozet
bb06701eff
Fix the return type of convolve_same
to match the documentation.
2019-03-31 17:04:20 +02:00
sebcrozet
ba40e8eb55
Fix merge errors due to the switch to rust 2018.
2019-03-31 10:53:31 +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
4ef4001836
Rename Real to RealField.
2019-03-25 11:21:41 +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
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
adamnemecek
1e614db227
Quaternionic division + refactoring ( #563 )
2019-03-18 09:08:42 +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
Nathan
a3d571ea6b
Merge remote-tracking branch 'upstream/master' into Implement_convolution_#520
2019-02-23 08:29:41 -06:00
Nathan
2a2debf58b
Fixing documentation
2019-02-20 20:32:09 -06:00
Nathan
9f52019385
Fixing type traits based on feedback, convolve_full
still broken
2019-02-18 19:01:18 -06:00
adamnemecek
975d72f070
Replace explicit types with Self where possible.
2019-02-16 22:29:41 +01:00
Nathan
b08c2ad70d
Feedback updates round 1
2019-02-14 20:54:26 -06:00
Nathan
bca385ea6b
Quick fix to documentation
2019-02-10 13:46:37 -06:00
Nathan
b3c6492530
Moved test file to lingal folder, wrote tests based on github ticket request (scipy reference)
2019-02-10 13:40:32 -06: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
Sébastien Crozet
e6e099b7c4
Replace int, and uint, by isize and usize.
2015-01-09 22:26:05 +01:00
Sébastien Crozet
014aabb856
Update to the last rust-nightly.
...
Version of rustc: 0.13.0-nightly (c6c786671 2015-01-04 00:50:59 +0000).
2015-01-04 19:03:28 +01:00
Sébastien Crozet
018d4a2ec0
Remove glob imports.
2015-01-04 09:39:32 +01:00
Connorcpu
a18a53b82e
Updated to latest rust master
2015-01-03 13:48:10 -08:00
Sébastien Crozet
a92c681d01
Update to the last rust-nightly.
...
Version of rustc: 0.13.0-nightly (42deaa5e4 2014-12-16 17:51:23 +0000).
Fix #54 .
2014-12-17 23:39:47 +01:00
Sébastien Crozet
77348f668f
Use our own traits instead of the deprecated ones.
...
We might switch to bjz/num-rs eventually (#32 ), but in the mean time we just re-declare the
deprecrated traits in nalgebra.
2014-11-16 14:42:18 +01:00
Sébastien Crozet
39b9d20717
Quick update to the last rust-nightly.
...
This is just a quick-fix so that nalgebra compiles.
This does not fix the deprecation warnings!
Version of rustc: 0.13.0-nightly (d91a015ab 2014-11-14 23:37:27 +0000).
2014-11-15 15:47:59 +01:00
Sébastien Crozet
171576e2a0
Move the eigen_qr
function behind the EigenQR
trait.
...
This simplifies generic programming.
2014-10-30 09:21:20 +01:00
Sébastien Crozet
27be1f0651
Add a SquareMat
trait for square matrices.
2014-10-30 09:21:20 +01:00
Sébastien Crozet
628aac0961
Coding style fix.
2014-10-30 09:21:18 +01:00
Sébastien Crozet
ff95e2a9d8
Remove the shifting from the qr algorithm.
2014-08-17 22:42:16 +02:00
Sébastien Crozet
314f0c0043
Add na::eigen_qr
that performs an eigendecomposition using the qr algorithm.
2014-08-16 15:34:34 +02:00
Sébastien Crozet
40c9915870
Add the types: DVec1, .., DVec6.
...
They are stack-allocated, dynamically sized vectors with a maximum size.
This is useful for slicing small matrices, without allocation.
2014-08-16 12:16:26 +02:00
Sébastien Crozet
e3d1bf6f92
Update to the last rust-nightly.
...
Version of rustc: 0.11.0-nightly (5ad7286dc37839b7234ff51aab172e48935869d8 2014-07-12 00:31:46 +0000)
2014-07-12 09:30:49 +02:00
Sébastien Crozet
ecbc159521
Update some links to point on nalgebra.org
.
2014-06-09 21:48:24 +02:00
Vincent Barrielle
73c6610048
new_identity and housholder matrix available under na::
2014-05-12 21:54:59 +02:00
Vincent Barrielle
dcf7b8ad01
generic implementation of QR decomposition
...
But static matrices can't use it yet, they need to implement the
Row/Col slicing traits.
2014-05-11 21:20:41 +02:00
Vincent Barrielle
6ad11edf9b
more generic QR: generalize the impl of the Indexable trait
...
This allows the implementation of householder reflection without relying
on knowledge of DVec. This required a new member in the Indexable trait:
the shape() function, which returns the maximum index available.
2014-05-11 20:05:08 +02:00
Vincent Barrielle
a213a3da93
fixing style issues
2014-05-10 12:48:25 +02:00
Vincent Barrielle
d1a58f960c
Moving row/col slicing traits to a better place
2014-05-09 23:05:23 +02:00
Vincent Barrielle
5611307b4d
QR decomposition depends less on DMat internals
2014-05-09 22:14:37 +02:00