6 #ifndef MYRAMATH_MULTIFRONTAL_LU_PARTIALSOLVELT_RIGHT_H     7 #define MYRAMATH_MULTIFRONTAL_LU_PARTIALSOLVELT_RIGHT_H    18 #include <myramath/dense/detail/nwork.h>    20 #include <myramath/multifrontal/detail/partialsolveu_right.h>    21 #include <myramath/multifrontal/detail/QContainer.h>    22 #include <myramath/multifrontal/detail/lu/LUContainer.h>    25 namespace multifrontal {
    27 namespace partialsolvelt_right {
    29 template<
class Kernel> 
class JobGraphBase : 
public ::myra::multifrontal::detail::partialsolveu_right::JobGraphBase2<typename ReflectNumber<Kernel>::type>
    35     typedef ::myra::multifrontal::detail::partialsolveu_right::JobGraphBase2<Number> Base;
    38     typedef ::myra::multifrontal::detail::lu::LUContainer<Kernel> 
LUContainer;
    39     typedef ::myra::multifrontal::detail::QContainer<Number> QContainer;
    44     JobGraphBase(
const LUContainer* in_lucontainer, 
const SchurTree* in_stree, QContainer* in_qcontainer, 
char in_op)
    45       : Base(in_stree,in_qcontainer), 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 i)
    62       const Kernel& Ln_kk = this->l(n,k);
    63       Range Bn_ik = this->b(n,i,k);
    64       return Ln_kk.solveL(Bn_ik, 
'R', 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 Xn_ik = this->x(n,i,k);      
    72       CRange Ln_jk = this->l(n,j,k);
    74       return gemm_nwork(Bn_ij, Xn_ik, 
'N', Ln_jk, op, -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. 
Definition: partialsolvelt_right.h:29
Symbolic analysis data structure for multifrontal schur complement. 
Definition: SchurTree.h:42
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.