def __init__(self, A, **kwargs): PysparseDirectSolver.__init__(self, A, **kwargs) if 'strategy' in kwargs.keys(): strategy = upper(kwargs.get('strategy')) if strategy not in ['AUTO', 'UNSYMMETRIC', 'SYMMETRIC', '2BY2']: strategy = 'AUTO' kwargs['strategy'] = 'UMFPACK_STRATEGY_' + strategy if 'scale' in kwargs.keys(): scale = upper(kwargs.get('scale')) if scale not in ['NONE', 'SUM', 'MAX']: scale = 'SUM' kwargs['scale'] = 'UMFPACK_SCALE_' + scale self.type = numpy.float self.nrow, self.ncol = A.getShape() t = cputime() self.LU = umfpack.factorize(A.matrix, **kwargs) self.factorizationTime = cputime() - t self.solutionTime = 0.0 self.sol = None self.L = self.U = None self.P = self.Q = self.R = None self.do_recip = False self.lnz = self.unz = self.nz_udiag = None return
def __init__(self, A, **kwargs): PysparseDirectSolver.__init__(self, A, **kwargs) self.type = numpy.float self.nrow, self.ncol = A.getShape() t = cputime() self.LU = superlu.factorize(A.matrix.to_csr(), **kwargs) self.factorizationTime = cputime() - t self.solutionTime = 0.0 self.sol = None self.L = self.U = None return