//@Override
        public bool decompose(DMatrixSparseCSC A)
        {
            DMatrixSparseCSC C = applyReduce.apply(A);

            if (!decomposed || !locked)
            {
                // compute the structure of V and R
                if (!structure.process(C))
                {
                    return(false);
                }

                // Initialize data structured used in the decomposition
                initializeDecomposition(C);
            }

            // perform the decomposition
            performDecomposition(C);

            decomposed = true;
            return(true);
        }
예제 #2
0
 //@Override
 public bool decompose(DMatrixSparseCSC A)
 {
     initialize(A);
     return(performLU(applyReduce.apply(A)));
 }
예제 #3
0
        //@Override
        public bool setA(DMatrixSparseCSC A)
        {
            DMatrixSparseCSC C = reduce.apply(A);

            return(cholesky.decompose(C));
        }