MyraMath
phetrf.h
Go to the documentation of this file.
1 // ========================================================================= //
2 // This file is part of MyraMath, copyright (c) 2014-2019 by Ryan A Chilton //
3 // and distributed by MyraCore, LLC. See LICENSE.txt for license terms. //
4 // ========================================================================= //
5 
6 #ifndef MYRAMATH_PDENSE_PHETRF_H
7 #define MYRAMATH_PDENSE_PHETRF_H
8 
15 #include <myramath/MYRAMATH_EXPORT.h>
17 
19 
21 
23 
24 namespace myra {
25 
26 // Forward declarations.
27 template <class Number> class MatrixRange;
28 template <class Number> class LowerMatrixRange;
29 
31 // Note, phetrf_inplace('L') is layout compatible with the sequential hetrf_inplace('L','R')
33 // Also, phetrf_inplace('U') is layout compatible with the sequential hetrf_inplace('U','R')
34 MYRAMATH_EXPORT LDLSwaps<NumberC> phetrf_inplace(char uplo, const MatrixRange<NumberC>& A, pdense::Options options = pdense::Options::create());
35 MYRAMATH_EXPORT LDLSwaps<NumberZ> phetrf_inplace(char uplo, const MatrixRange<NumberZ>& A, pdense::Options options = pdense::Options::create());
37 
39 MYRAMATH_EXPORT JobGraph phetrf_jobgraph(char uplo, const MatrixRange<NumberC>& A, LDLSwaps<NumberC>& swaps, pdense::Options options = pdense::Options::create());
41 MYRAMATH_EXPORT JobGraph phetrf_jobgraph(char uplo, const MatrixRange<NumberZ>& A, LDLSwaps<NumberZ>& swaps, pdense::Options options = pdense::Options::create());
43 
45 // Layout compatible with the sequential hetrf_inplace()
47 MYRAMATH_EXPORT LDLSwaps<NumberC> phetrf_inplace(const LowerMatrixRange<NumberC>& A, pdense::Options options = pdense::Options::create());
48 MYRAMATH_EXPORT LDLSwaps<NumberZ> phetrf_inplace(const LowerMatrixRange<NumberZ>& A, pdense::Options options = pdense::Options::create());
50 
52 MYRAMATH_EXPORT JobGraph phetrf_jobgraph(const LowerMatrixRange<NumberC>& A, LDLSwaps<NumberC>& swaps, pdense::Options options = pdense::Options::create());
54 MYRAMATH_EXPORT JobGraph phetrf_jobgraph(const LowerMatrixRange<NumberZ>& A, LDLSwaps<NumberC>& swaps, pdense::Options options = pdense::Options::create());
56 
57 } // namespace myra
58 
59 #endif
static Options create()
Named constructor idiom, creates default options.
Definition: Options.h:44
Definition: syntax.dox:1
Abstraction for representing a directed acyclic graph of Job&#39;s.
Various utility functions/classes related to scalar Number types.
Options pack for routines in /pdense.
Pivoting metadata for LDL&#39;-type factorizations.