public virtual bool inputModified() { return(decomp.inputModified()); }
/** * Decomposes the matrix using the QR algorithm. Care was taken to minimize unnecessary memory copying * and cache skipping. * * @param orig The matrix which is being decomposed. Not modified. * @return true if it decomposed the matrix or false if an error was detected. This will not catch all errors. */ //public bool decompose(DMatrixRMaj orig) //{ // if (orig.numCols != orig.numRows) // throw new ArgumentException("Matrix must be square."); // if (orig.numCols <= 0) // return false; // int N = orig.numRows; // // compute a similar tridiagonal matrix // if (!decomp.decompose(orig)) // return false; // double[] diag = this.diag; // double[] off = this.off; // if (diag == null || diag.Count() < N) // { // this.diag = diag = new double[N]; // this.off = off = new double[N - 1]; // } // decomp.getDiagonal(diag, off); // // Tell the helper to work with this matrix // helper.init(diag, off, N); // if (computeVectors) // { // if (computeVectorsWithValues) // { // return extractTogether(); // } // else // { // return extractSeparate(N); // } // } // else // { // return computeEigenValues(); // } //} public bool inputModified() { return(decomp.inputModified()); }