36 const SymmetricSquareMatrix<Type>& matrix
39 const label
n = matrix.n();
41 SymmetricSquareMatrix<Type>
inv(
n,
Zero);
43 for (label i = 0; i <
n; ++i)
45 inv(i, i) = 1.0/matrix(i, i);
47 for (label j = 0; j < i; ++j)
51 for (label
k = j;
k < i; ++
k)
56 inv(i, j) =
sum/matrix(i, i);
60 SymmetricSquareMatrix<Type> result(
n,
Zero);
62 for (label
k = 0;
k <
n; ++
k)
64 for (label i = 0; i <=
k; ++i)
66 for (label j = 0; j <=
k; ++j)
80 const SymmetricSquareMatrix<Type>& matrix
83 SymmetricSquareMatrix<Type> matrixTmp(matrix);
93 Type diagProduct = pTraits<Type>::one;
95 for (label i = 0; i < matrix.m(); ++i)
97 diagProduct *= matrix(i, i);
100 return sqr(diagProduct);
105 Type
Foam::det(
const SymmetricSquareMatrix<Type>& matrix)
107 SymmetricSquareMatrix<Type> matrixTmp(matrix);
117 template<
class AnyType>
122 for (label i=0; i < this->
n(); ++i)