Commit Graph

2220 Commits

Author SHA1 Message Date
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
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
Sébastien Crozet
507ead2f10
Merge pull request #1043 from dimforge/svd3-fix
Fix the special-case for 3x3 Real SVD
2021-12-09 05:14:43 -08:00
Sébastien Crozet
88dd5442f3 Add an utility function to check if a slice is sorted in descending order. 2021-12-09 13:32:30 +01:00
Sébastien Crozet
412104fa0a Add comment about the origin of the failing 3x3 SVD matrix 2021-12-09 13:31:39 +01:00
Sébastien Crozet
229c137756 CI: update the nightly version used for the cuda build 2021-12-09 12:03:00 +01:00
Sébastien Crozet
e0a1b1bc34 Fix the special-case for 3x3 Real SVD 2021-12-09 11:52:37 +01:00
Sébastien Crozet
a9890e2a2c
Merge pull request #1040 from dimforge/cust-0.2
Update to cust 0.2
2021-12-03 14:12:15 +01:00
Sébastien Crozet
57fe4474be Update to cust 0.2 2021-12-03 10:08:11 +01:00
Sébastien Crozet
46feae72b9
Merge pull request #1036 from ArthurKValladares/dev
Fix typo in `nalgebra_glm::radians` doc comment
2021-12-01 13:55:30 +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
56a4835b71
Merge pull request #1039 from Andlon/remove-proptest-patch
Remove redundant proptest patch in `nalgebra-sparse`
2021-12-01 13:54:36 +01:00
Andreas Longva
6e10efe862 Remove redundant proptest patch 2021-12-01 12:44:07 +01:00
Sébastien Crozet
77b9263319
Merge pull request #1035 from dimforge/unit-complex-rust-cuda
Implement DeviceCopy for UnitComplex, UnitQuaternion, and Unit<Matrix> instead of using a blanket impl
2021-11-27 11:01:01 +01:00
Arthur Kaukal Valladares
c72b30d628 Fix typo in nalgebra_glm::radians doc comment 2021-11-26 18:51:01 -08: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
e8c6a7c0a2
Merge pull request #1031 from dimforge/rust-cuda
Add support for rust-CUDA
2021-11-25 16:16:37 +01:00
Sébastien Crozet
122bedf072 CI: use the nightly-2021-10-17 toolchain when targetting nvptx 2021-11-24 12:39:17 +01:00
Sébastien Crozet
b6dfb4d80b Enable simba/cuda when targetting cuda. 2021-11-24 12:32:30 +01:00
Sébastien Crozet
abba7eeae5
Merge pull request #1032 from losanc/typo
fix doc typo
2021-11-23 18:16:09 +01:00
Hantao Hui
1cc5c7eba6 fix doc typo 2021-11-23 16:17:06 +01:00
Sébastien Crozet
5d9562f7d8 nalgebra-glm: add a cuda feature 2021-11-23 13:57:30 +01:00
Sébastien Crozet
287cb9b149 CI: install the nvptx64-nvidia-cuda target 2021-11-23 13:48:58 +01:00
Sébastien Crozet
f32df45ef1 CI: checkout the repo for the cuda target 2021-11-23 13:42:13 +01:00
Sébastien Crozet
23d3ed7ee4 CI: add a build targetting nvptx cuda 2021-11-23 13:36:54 +01:00
Sébastien Crozet
3eef934999 Fix CI syntax error 2021-11-23 13:16:28 +01:00
Sébastien Crozet
6eda7e4e65 CI: install the CUDA toolkit 2021-11-23 13:15:17 +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
803ce0a69f
Merge pull request #1027 from dimforge/slice-into-array
Re-add the conversion from a vector/matrix slice to a static array
2021-11-21 21:56:23 +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
0225914b37
Merge pull request #1026 from dimforge/nalgebra-glm-no-std
Fix nalgebra-glm no-std CI build
2021-11-21 21:45:43 +01:00
Sébastien Crozet
8c2bdf51f2 Run cargo fmt 2021-11-21 21:21:22 +01:00
Sébastien Crozet
a35918b613 nalgebra-glm: fix no-std build 2021-11-21 21:11:55 +01:00
Sébastien Crozet
a463143608 Add nalgebra-glm to the no-std CI build 2021-11-21 20:57:02 +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
Sébastien Crozet
7de9ba2388
Merge pull request #1022 from CattleProdigy/lapack-extern
Add extern crate declarations for lapack{-src}
2021-11-20 13:54:43 +01:00
Paul Jakob Schroeder
97aebf8089 Add extern crate declarations for lapack{-src}
Without these declarations, `nalgebra-lapack` does not have runtime
linkage requirements for these libraries, meaning that binaries and
libraries using `nalgebra-lapack` have to link `lapack`/`lapack-src`
explicitly which shouldn't be necessary.
2021-11-16 12:49:19 -05:00
Sébastien Crozet
640ab4b12d
Merge pull request #1018 from Christopher22/sorted_svd
Allow descending sorting of estimated SVD
2021-11-08 11:09:15 +01:00
Christopher Gundler
24d29c4de3 Allow sorting SVD according to singular values 2021-11-08 10:27:53 +01:00
Sébastien Crozet
f409dd0b25 Update CHANGELOG 2021-10-31 14:42:44 +01:00
Sébastien Crozet
df51de0664 Fix unsound usize::get_unchecked_mut 2021-10-31 14:27:32 +01:00
Sébastien Crozet
8ea8ac70d5
Merge pull request #961 from atouchet/badge
Fix crates.io badge
2021-10-31 14:25:49 +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