Commit Graph

1349 Commits

Author SHA1 Message Date
Sébastien Crozet 87a6f4965b Add support for conversion with glam 0.19 and 0.20 2022-01-09 13:43:45 +01: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
Sébastien Crozet 99ac8c4032
Merge pull request #1050 from metric-space/polar-decomposition-take-2
Take-2 of polar-decomposition
2021-12-31 09:57:08 +01:00
Sébastien Crozet d806669cc7 Fix Matrix::pow and make it work only with positive exponents 2021-12-30 23:03:43 +01:00
Sébastien Crozet cc10b67dd1 Add Matrix::try_polar that returns Option and make Matrix::polar not return Option 2021-12-30 22:15:04 +01:00
Sébastien Crozet b62b65d1b6
Merge pull request #1048 from haibane-tenshi/relax-matrix-select-rows-cols
Relax T: Zero bound on Matrix::select_rows() and Matrix::select_columns()
2021-12-30 21:56:55 +01:00
Sébastien Crozet a6007de409 Add "Triangular matrix extraction" bullet to Matrix documentation 2021-12-30 21:55:29 +01:00
Sébastien Crozet 2844c55de2
Merge pull request #1053 from rokonio/patch-1
Fix a typo in a comment
2021-12-30 21:46:47 +01:00
Rokonio 05320147b1
Fix a typo in a comment 2021-12-29 18:46:01 +01:00
metric-space dbaefed8d1 Fix doc typos 2021-12-26 21:05:42 -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
Leon 20a86d6613
doc fix: QR -> LU 2021-12-22 19:10:55 +00: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
haibane_tenshi 24bb7bef76 fix(Matrix): relax T: Zero bound on Matrix::select_rows() and Matrix::select_columns() 2021-12-16 18:50:15 +03:00
Sébastien Crozet e0a1b1bc34 Fix the special-case for 3x3 Real SVD 2021-12-09 11:52:37 +01:00
Sébastien Crozet 9389cf2adc
Merge pull request #1034 from dimforge/specific_svd
Add dedicated implementations of SVD for 2x2 and 3x3 real matrices.
2021-12-01 13:55:10 +01:00
Sébastien Crozet 9297cc5754 Implement DeviceCopy for UnitComplex, UnitQuaternion, and Unit<Matrix> instead of using a blanket impl 2021-11-26 18:13: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
Sébastien Crozet 9d897a6b8a Add support for rust-cuda 2021-11-23 12:03:11 +01:00
Sébastien Crozet ad3eefe182 Merge remote-tracking branch 'origin/dev' into dev 2021-11-23 11:02:51 +01:00
Sébastien Crozet f715883f9f Re-add the conversion from a slice to a static array 2021-11-21 21:47:35 +01:00
Sébastien Crozet 10150ec783
Merge pull request #1016 from tpdickso/fix-dual-quaternion-sclerp
Don't panic ScLERPing `UnitDualQuaternion` with equal rotation
2021-11-21 17:57:34 +01:00
Terence 0ecbed512b cargo fmt 2021-11-20 09:12:45 -05:00
Christopher Gundler 24d29c4de3 Allow sorting SVD according to singular values 2021-11-08 10:27:53 +01:00
Sébastien Crozet df51de0664 Fix unsound usize::get_unchecked_mut 2021-10-31 14:27:32 +01:00
Sébastien Crozet 20d8e953c5
Merge pull request #1004 from MaxVerevkin/fix-750
fix linear indexing of matrix slices
2021-10-31 14:24:10 +01:00
Terence 3df81c7cc9 fix docs 2021-10-28 00:05:50 -04:00
Terence dfb7b6af22 Don't panic ScLERPing `UnitDualQuaternion` with equal rotation
Solves #1013.

Previously, when screw-linearly interpolating two unit dual quaternions
that had an identical orientation, `try_sclerp` would return `None`, as
the operation would introduce a division-by-zero.

This PR splits out the cases where two unit dual quaternions have an
identical orientation from the cases where they have opposite
orientations. In the case where they have identical orientations, the
operation is well-defined, but the exponential parameterization could
not handle it without introducing NaNs. Therefore, the function detects
this case and simply defaults to linearly interpolating the
translational components and using one of the two inputs' rotation
components.

The case where the inputs have opposite rotations is now detected
separately using the dot product of the real (rotation) parts, which was
already being computed anyway.

Also introduces proptests for these specific scenarios, to avoid any
regression.
2021-10-28 00:02:20 -04:00
Sébastien Crozet e05bfe48b3
Merge pull request #1012 from Yuri6037/scale
Scale
2021-10-25 10:20:07 +02:00
Sébastien Crozet 4be7db36fd
Remove useless `into_owned`. 2021-10-25 09:57:58 +02:00
Yuri Edward 209f77ccaf Fixed from_superset_unchecked 2021-10-24 22:26:01 +02:00
Yuri Edward 25dba52197 Removed additional into_owned call 2021-10-24 21:58:05 +02:00
Yuri Edward 54b8a5b900 Rollbacked buggy update 2021-10-24 21:55:11 +02:00
Yuri Edward 50f65123b5 Merge branch 'scale' of github.com:Yuri6037/nalgebra into scale 2021-10-24 21:52:45 +02:00
Yuri6037 b8800ccd15
Update src/geometry/scale_conversion.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 21:52:35 +02:00
Yuri Edward 9d2639b742 Removed clippy suspicious_arithmetic_impl allow 2021-10-24 21:51:36 +02:00
Yuri Edward 866cabaa28 Merge remote-tracking branch 'origin/scale' into scale 2021-10-24 20:55:35 +02:00
Yuri Edward 6d3978b212 Added Scale *= scalar + reordered ops 2021-10-24 20:55:10 +02:00
Yuri Edward 0aba533556 Added Scale * Vector 2021-10-24 20:45:40 +02:00
Yuri6037 8efa9f76b7
Update src/geometry/scale_coordinates.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:41:27 +02:00
Yuri6037 510ffcbb18
Update src/geometry/scale_coordinates.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:41:21 +02:00
Yuri Edward c11e1ffb4d Fixed missing curly bracket 2021-10-24 20:40:02 +02:00
Yuri6037 ded853757c
Update src/geometry/scale.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:31:35 +02:00
Yuri6037 f7eec7317c
Update src/geometry/scale_conversion.rs
Removed return.

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:27:54 +02:00
Yuri6037 5b44502632
Update src/geometry/scale.rs
Simplified code.

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:27:38 +02:00
Yuri6037 26e36c15ba
Update src/geometry/scale.rs
Removed return

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:25:48 +02:00
Yuri6037 6123c86f9e
Update src/geometry/scale.rs
Removed return

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:24:16 +02:00
Yuri6037 91b8424a86
Update src/geometry/scale.rs
Removed return

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:21:07 +02:00
Yuri6037 de41c42af7
Update src/geometry/scale.rs
Simplified code

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:20:13 +02:00
Yuri Edward b91ead7971 Fixed Subset for Matrix 2021-10-21 15:56:07 +02:00