Example #1
0
        public FullPivLUResult FullPivLU()
        {
            double[] l = new double[Rows * Rows];
            double[] u = new double[Rows * Cols];
            double[] p = new double[Rows * Rows];
            double[] q = new double[Cols * Cols];

            EigenDenseUtilities.FullPivLU(GetValues(), Rows, Cols, l, u, p, q);

            var L = new MatrixXD(l, Rows, Rows);

            L.SetDiag(1.0);
            return(new FullPivLUResult(L,
                                       new MatrixXD(u, Rows, Cols),
                                       new MatrixXD(p, Rows, Rows),
                                       new MatrixXD(q, Cols, Cols)));
        }