mirror of https://github.com/CGAL/cgal
Add determinant 7x7
This commit is contained in:
parent
5ce802f658
commit
5d053dba1a
|
|
@ -211,6 +211,83 @@ determinant(
|
|||
return m012345;
|
||||
}
|
||||
|
||||
template <class RT>
|
||||
RT
|
||||
determinant(
|
||||
const RT& a00, const RT& a01, const RT& a02, const RT& a03, const RT& a04,
|
||||
const RT& a05, const RT& a06,
|
||||
const RT& a10, const RT& a11, const RT& a12, const RT& a13, const RT& a14,
|
||||
const RT& a15, const RT& a16,
|
||||
const RT& a20, const RT& a21, const RT& a22, const RT& a23, const RT& a24,
|
||||
const RT& a25, const RT& a26,
|
||||
const RT& a30, const RT& a31, const RT& a32, const RT& a33, const RT& a34,
|
||||
const RT& a35, const RT& a36,
|
||||
const RT& a40, const RT& a41, const RT& a42, const RT& a43, const RT& a44,
|
||||
const RT& a45, const RT& a46,
|
||||
const RT& a50, const RT& a51, const RT& a52, const RT& a53, const RT& a54,
|
||||
const RT& a55, const RT& a56,
|
||||
const RT& a60, const RT& a61, const RT& a62, const RT& a63, const RT& a64,
|
||||
const RT& a65, const RT& a66)
|
||||
{
|
||||
return a00 * determinant(
|
||||
a11, a12, a13, a14, a15, a16,
|
||||
a21, a22, a23, a24, a25, a26,
|
||||
a31, a32, a33, a34, a35, a36,
|
||||
a41, a42, a43, a44, a45, a46,
|
||||
a51, a52, a53, a54, a55, a56,
|
||||
a61, a62, a63, a64, a65, a66)
|
||||
|
||||
- a10 * determinant(a01, a02, a03, a04, a05, a06,
|
||||
|
||||
a21, a22, a23, a24, a25, a26,
|
||||
a31, a32, a33, a34, a35, a36,
|
||||
a41, a42, a43, a44, a45, a46,
|
||||
a51, a52, a53, a54, a55, a56,
|
||||
a61, a62, a63, a64, a65, a66)
|
||||
|
||||
+ a20 * determinant(a01, a02, a03, a04, a05, a06,
|
||||
a11, a12, a13, a14, a15, a16,
|
||||
|
||||
a31, a32, a33, a34, a35, a36,
|
||||
a41, a42, a43, a44, a45, a46,
|
||||
a51, a52, a53, a54, a55, a56,
|
||||
a61, a62, a63, a64, a65, a66)
|
||||
|
||||
- a30 * determinant(a01, a02, a03, a04, a05, a06,
|
||||
a11, a12, a13, a14, a15, a16,
|
||||
a21, a22, a23, a24, a25, a26,
|
||||
|
||||
a41, a42, a43, a44, a45, a46,
|
||||
a51, a52, a53, a54, a55, a56,
|
||||
a61, a62, a63, a64, a65, a66)
|
||||
|
||||
+ a40 * determinant(a01, a02, a03, a04, a05, a06,
|
||||
a11, a12, a13, a14, a15, a16,
|
||||
a21, a22, a23, a24, a25, a26,
|
||||
a31, a32, a33, a34, a35, a36,
|
||||
|
||||
a51, a52, a53, a54, a55, a56,
|
||||
a61, a62, a63, a64, a65, a66)
|
||||
|
||||
- a50 * determinant(a01, a02, a03, a04, a05, a06,
|
||||
a11, a12, a13, a14, a15, a16,
|
||||
a21, a22, a23, a24, a25, a26,
|
||||
a31, a32, a33, a34, a35, a36,
|
||||
a41, a42, a43, a44, a45, a46,
|
||||
|
||||
a61, a62, a63, a64, a65, a66)
|
||||
|
||||
+ a60 * determinant(a01, a02, a03, a04, a05, a06,
|
||||
a11, a12, a13, a14, a15, a16,
|
||||
a21, a22, a23, a24, a25, a26,
|
||||
a31, a32, a33, a34, a35, a36,
|
||||
a41, a42, a43, a44, a45, a46,
|
||||
a51, a52, a53, a54, a55, a56
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
} //namespace CGAL
|
||||
|
||||
#endif // CGAL_DETERMINANT_H
|
||||
|
|
|
|||
|
|
@ -151,6 +151,15 @@ template<class NT_,class Dim_,class Max_dim_=Dim_> struct LA_eigen {
|
|||
m(3,0),m(3,1),m(3,2),m(3,3),m(3,4),m(3,5),
|
||||
m(4,0),m(4,1),m(4,2),m(4,3),m(4,4),m(4,5),
|
||||
m(5,0),m(5,1),m(5,2),m(5,3),m(5,4),m(5,5));
|
||||
case 7:
|
||||
return CGAL::determinant(
|
||||
m(0,0),m(0,1),m(0,2),m(0,3),m(0,4),m(0,5),m(0,6),
|
||||
m(1,0),m(1,1),m(1,2),m(1,3),m(1,4),m(1,5),m(1,6),
|
||||
m(2,0),m(2,1),m(2,2),m(2,3),m(2,4),m(2,5),m(2,6),
|
||||
m(3,0),m(3,1),m(3,2),m(3,3),m(3,4),m(3,5),m(3,6),
|
||||
m(4,0),m(4,1),m(4,2),m(4,3),m(4,4),m(4,5),m(4,6),
|
||||
m(5,0),m(5,1),m(5,2),m(5,3),m(5,4),m(5,5),m(5,6),
|
||||
m(6,0),m(6,1),m(6,2),m(6,3),m(6,4),m(6,5),m(6,6));
|
||||
default:
|
||||
#if _MSC_VER >= 1911 || __cpp_if_constexpr >= 201606L
|
||||
// Avoid compiling the LU decomposition for nothing
|
||||
|
|
|
|||
Loading…
Reference in New Issue