MyraMath
psytrf.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_PSYTRF_H
7 #define MYRAMATH_PDENSE_PSYTRF_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, psytrf_inplace('L') is layout compatible with the sequential sytrf_inplace('L','R')
33 // Also, psytrf_inplace('U') is layout compatible with the sequential sytrf_inplace('U','R')
34 MYRAMATH_EXPORT LDLSwaps<NumberS> psytrf_inplace(char uplo, const MatrixRange<NumberS>& A, pdense::Options options = pdense::Options::create());
35 MYRAMATH_EXPORT LDLSwaps<NumberD> psytrf_inplace(char uplo, const MatrixRange<NumberD>& A, pdense::Options options = pdense::Options::create());
36 MYRAMATH_EXPORT LDLSwaps<NumberC> psytrf_inplace(char uplo, const MatrixRange<NumberC>& A, pdense::Options options = pdense::Options::create());
37 MYRAMATH_EXPORT LDLSwaps<NumberZ> psytrf_inplace(char uplo, const MatrixRange<NumberZ>& A, pdense::Options options = pdense::Options::create());
39 
41 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(char uplo, const MatrixRange<NumberS>& A, LDLSwaps<NumberS>& swaps, pdense::Options options = pdense::Options::create());
43 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(char uplo, const MatrixRange<NumberD>& A, LDLSwaps<NumberD>& swaps, pdense::Options options = pdense::Options::create());
44 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(char uplo, const MatrixRange<NumberC>& A, LDLSwaps<NumberC>& swaps, pdense::Options options = pdense::Options::create());
45 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(char uplo, const MatrixRange<NumberZ>& A, LDLSwaps<NumberZ>& swaps, pdense::Options options = pdense::Options::create());
47 
49 // Layout compatible with the sequential sytrf_inplace()
51 MYRAMATH_EXPORT LDLSwaps<NumberS> psytrf_inplace (const LowerMatrixRange<NumberS>& A, pdense::Options options = pdense::Options::create());
52 MYRAMATH_EXPORT LDLSwaps<NumberD> psytrf_inplace (const LowerMatrixRange<NumberD>& A, pdense::Options options = pdense::Options::create());
53 MYRAMATH_EXPORT LDLSwaps<NumberC> psytrf_inplace (const LowerMatrixRange<NumberC>& A, pdense::Options options = pdense::Options::create());
54 MYRAMATH_EXPORT LDLSwaps<NumberZ> psytrf_inplace (const LowerMatrixRange<NumberZ>& A, pdense::Options options = pdense::Options::create());
56 
58 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(const LowerMatrixRange<NumberS>& A, LDLSwaps<NumberS>& swaps, pdense::Options options = pdense::Options::create());
60 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(const LowerMatrixRange<NumberD>& A, LDLSwaps<NumberD>& swaps, pdense::Options options = pdense::Options::create());
61 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(const LowerMatrixRange<NumberC>& A, LDLSwaps<NumberC>& swaps, pdense::Options options = pdense::Options::create());
62 MYRAMATH_EXPORT JobGraph psytrf_jobgraph(const LowerMatrixRange<NumberZ>& A, LDLSwaps<NumberZ>& swaps, pdense::Options options = pdense::Options::create());
64 
65 } // namespace myra
66 
67 #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.