136 #ifndef Foam_QRMatrix_H 137 #define Foam_QRMatrix_H 151 template<
class MatrixType>
156 typedef typename MatrixType::cmptType
cmptType;
158 typedef typename MatrixType::value_type
value_type;
160 typedef SquareMatrix<cmptType>
SMatrix;
161 typedef RectangularMatrix<cmptType>
RMatrix;
214 label calcShapeFactor(
const MatrixType&
A)
const;
217 void decompose(MatrixType& AT);
220 void decompose(MatrixType& AT,
const bool pivot);
223 void calcQ(
const MatrixType& AT);
234 template<
template<
typename>
class ListContainer>
235 void solvex(ListContainer<cmptType>&
x)
const;
239 template<
template<
typename>
class ListContainer>
243 const ListContainer<cmptType>& source
277 const outputs output = outputs::BOTH_QR,
327 const UList<cmptType>& source
336 const IndirectListBase<cmptType, Addr>& source
341 tmp<Field<cmptType>>
solve 343 const UList<cmptType>& source
349 tmp<Field<cmptType>>
solve 351 const IndirectListBase<cmptType, Addr>& source
371 namespace MatrixTools
380 template<
class MatrixType>
MatrixType::cmptType cmptType
pivoting
Options for the column pivoting.
outputs
Options for the output types.
RectangularMatrix< cmptType > RMatrix
QRMatrix computes QR decomposition of a given scalar/complex matrix A into the following: ...
SMatrix P() const
Create and return the permutation matrix.
MatrixType::size_type size_type
void solve(List< cmptType > &x, const UList< cmptType > &source) const
Solve the linear system with the given source and return the solution in the argument x...
MatrixType::value_type value_type
SMatrix inv() const
Return the inverse of (Q*R), solving x = (Q*R).inv()*source.
compute economy-size decomposition
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
const MatrixType & R() const noexcept
Return const reference to R.
const dimensionedScalar e
Elementary charge.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
const MatrixType & Q() const noexcept
Return const reference to Q.
graph_traits< Graph >::vertices_size_type size_type
compute full-size decomposition
const labelList & p() const noexcept
Return const reference to p.
switch off column pivoting
QRMatrix & operator=(const QRMatrix &)=delete
No copy assignment.
List< label > labelList
A List of labels.
SquareMatrix< cmptType > SMatrix
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
modes
Options for the decomposition mode.
mode_t mode(const fileName &name, const bool followLink=true)
Return the file mode, normally following symbolic links.
switch on column pivoting
QRMatrix()=delete
No default construct.