6 #ifndef MYRAMATH_MULTIFRONTAL_LU_SOLVELT_H     7 #define MYRAMATH_MULTIFRONTAL_LU_SOLVELT_H    14 #include <myramath/multifrontal/detail/solveu.h>    17 namespace multifrontal {
    21 template<
class Number> 
class JobGraphBase : 
public ::myra::multifrontal::detail::solveu::JobGraphBase2<Number>
    26     typedef ::myra::multifrontal::detail::solveu::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& l(
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 j)
    51       const Kernel& Ln_kk = this->l(n,k);
    53       return Ln_kk.
solveL(Bn_kj,
'L',
'T');
    57     virtual uint64_t downdate(
int n, 
int k, 
int i, 
int j)
    63       return gemm_nwork(Bn_ij, Ln_ki, 
'T', Xn_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
uint64_t solveL(const MatrixRange< Number > &B, char side, char op) const
Solves op(L)*X=B or X*op(L)=B, overwrites B with X. 
Definition: Kernel.h:66
Definition: partialsolve.h:32