6 #ifndef MYRAMATH_MULTIFRONTAL_LU_SOLVEU_RIGHT_H     7 #define MYRAMATH_MULTIFRONTAL_LU_SOLVEU_RIGHT_H    14 #include <myramath/multifrontal/detail/solveu_right.h>    17 namespace multifrontal {
    19 namespace solveu_right {
    21 template<
class Number> 
class JobGraphBase : 
public ::myra::multifrontal::detail::solveu_right::JobGraphBase2<Number>
    26     typedef ::myra::multifrontal::detail::solveu_right::JobGraphBase2<Number> Base;
    30     typedef ::myra::multifrontal::detail::lu::LUContainer<Kernel> 
LUContainer;    
    34       : Base(&in_lucontainer->tree(), in_B, in_blocksize), lucontainer(in_lucontainer) { }
    37     virtual ::myra::JobGraphBase* clone()
 const    43     const Kernel& u(
int n, 
int ij)
 const    44       { 
return lucontainer->lu(n,ij); }
    46       { 
return lucontainer->lu(n,i,j); }
    49     virtual uint64_t backsolve(
int n, 
int k, 
int i)
    51       const Kernel& Un_kk = this->u(n,k);
    53       return Un_kk.
solveU(Bn_ik,
'R',
'N');
    57     virtual uint64_t downdate(
int n, 
int k, 
int i, 
int j)
    63       return gemm_nwork(Bn_ij, Xn_ik, 
'N', Un_kj, 
'N',  -one, one);      
    69     const LUContainer* lucontainer;
 
Represents a const MatrixRange. 
Definition: bothcat.h:22
Factors A into L*U, presents solve methods. 
Definition: Kernel.h:35
Represents a mutable MatrixRange. 
Definition: conjugate.h:26
Definition: solveu_right.h:21
uint64_t solveU(const MatrixRange< Number > &B, char side, char op) const
Solves op(U)*X=B or X*op(U)=B, overwrites B with X. 
Definition: Kernel.h:135
Definition: partialsolve.h:32