6 #ifndef MYRAMATH_MULTIFRONTAL_LU_PARTIALSOLVELT_H     7 #define MYRAMATH_MULTIFRONTAL_LU_PARTIALSOLVELT_H    18 #include <myramath/dense/detail/nwork.h>    20 #include <myramath/multifrontal/detail/partialsolveu.h>    21 #include <myramath/multifrontal/detail/PContainer.h>    22 #include <myramath/multifrontal/detail/lu/LUContainer.h>    25 namespace multifrontal {
    27 namespace partialsolvelt {
    29 template<
class Kernel> 
class JobGraphBase : 
public ::myra::multifrontal::detail::partialsolveu::JobGraphBase2<typename ReflectNumber<Kernel>::type>
    35     typedef ::myra::multifrontal::detail::partialsolveu::JobGraphBase2<Number> Base;
    38     typedef ::myra::multifrontal::detail::lu::LUContainer<Kernel> 
LUContainer;
    39     typedef ::myra::multifrontal::detail::PContainer<Number> PContainer;
    44     JobGraphBase(
const LUContainer* in_lucontainer, 
const SchurTree* in_stree, PContainer* in_pcontainer, 
char in_op)
    45       : Base(in_stree,in_pcontainer), lucontainer(in_lucontainer), op(in_op) { }
    48     virtual ::myra::JobGraphBase* clone()
 const    54     const Kernel& l(
int n, 
int ij)
 const    55       { 
return lucontainer->lu(this->s2a(n),ij); }
    56     const CRange l(
int n, 
int i, 
int j)
 const    57       { 
return lucontainer->lu(this->s2a(n),i,j); }
    60     virtual uint64_t backsolve(
int n, 
int k, 
int j)
    62       const Kernel& Ln_kk = this->l(n,k);
    63       Range Bn_kj = this->b(n,k,j);
    64       return Ln_kk.solveL(Bn_kj, 
'L', op);
    68     virtual uint64_t downdate(
int n, 
int k, 
int i, 
int j) 
    70       Range Bn_ij = this->b(n,i,j);
    71       CRange Ln_ki = this->l(n,k,i);
    72       CRange Xn_kj = this->x(n,k,j);
    74       return gemm_nwork(Bn_ij, Ln_ki, op, Xn_kj, 
'N', -one, one);
    80     const LUContainer* lucontainer;
 Reflects Number trait for a Container, containers of Numbers (Matrix's, Vector's, etc) should special...
Definition: Number.h:55
Interface class for representing subranges of dense Matrix's. 
Symbolic analysis data structure for multifrontal schur complement. 
Definition: SchurTree.h:42
Definition: partialsolvelt.h:29
Represents a const MatrixRange. 
Definition: bothcat.h:22
Various utility functions/classes related to scalar Number types. 
Represents a mutable MatrixRange. 
Definition: conjugate.h:26
Definition: partialsolve.h:32
Variety of routines all for dense Matrix*Matrix multiplies. Delegates to the BLAS.