39 template <
typename M, DGtal::Dimension TM, DGtal::Dimension TN>
46 BOOST_STATIC_ASSERT(TM == TN);
57 ASSERT(indexR < TM -1);
58 ASSERT(indexC < TN -1);
59 mat.setComponent(indexR,indexC, aM(i,j));
69 return mat.determinant();
72 return mat.determinant();
75 template <
typename M, DGtal::Dimension TM, DGtal::Dimension TN>
80 BOOST_STATIC_ASSERT(TM == TN);
84 d += aM(i,0) * aM.cofactor(i,0);
96 ASSERT(
false &&
"Not defined for 1x1 matrices");
100 template <
typename M>
110 template <
typename M>
119 return aM((i+1) % 2,(j+1) % 2);
122 template <
typename M>
128 return aM(0,0)*aM(1,1) - aM(0,1)*aM(1,0);
132 template <
typename M>
149 ASSERT(indexR < 3 -1);
150 ASSERT(indexC < 3 -1);
161 return determinant(mat);
164 return determinant(mat);
167 template <
typename M>
172 return aM(0,0) * ( (aM(1,1)*aM(2,2))-
174 aM(1,0) * ( (aM(0,1)*aM(2,2))-
176 + aM(2,0) * ( (aM(0,1)*aM(1,2))-