/// <summary> /// Constructor. </summary> /// <param name="ch"> The result of the Cholesky decomposition. </param> public CholeskyDecompositionCommonsResult(CholeskyDecomposition ch) { ArgChecker.notNull(ch, "Cholesky decomposition"); _determinant = ch.Determinant; _l = CommonsMathWrapper.unwrap(ch.L); _lt = CommonsMathWrapper.unwrap(ch.LT); _solver = ch.Solver; }
/// <summary> /// Creates an instance. /// </summary> /// <param name="qr"> The result of the QR decomposition, not null </param> public QRDecompositionCommonsResult(QRDecomposition qr) { ArgChecker.notNull(qr, "qr"); _q = CommonsMathWrapper.unwrap(qr.Q); _r = CommonsMathWrapper.unwrap(qr.R); _qTranspose = _q.transpose(); _solver = qr.Solver; }
/// <summary> /// Creates an instance. /// </summary> /// <param name="lu"> The result of the LU decomposition, not null. $\mathbf{L}$ cannot be singular. </param> public LUDecompositionCommonsResult(LUDecomposition lu) { ArgChecker.notNull(lu, "LU decomposition"); ArgChecker.notNull(lu.L, "Matrix is singular; could not perform LU decomposition"); _determinant = lu.Determinant; _l = CommonsMathWrapper.unwrap(lu.L); _p = CommonsMathWrapper.unwrap(lu.P); _pivot = lu.Pivot; _solver = lu.Solver; _u = CommonsMathWrapper.unwrap(lu.U); }
/// <summary> /// Creates an instance. /// </summary> /// <param name="svd"> The result of the SV decomposition, not null </param> public SVDecompositionCommonsResult(SingularValueDecomposition svd) { ArgChecker.notNull(svd, "svd"); _condition = svd.ConditionNumber; _norm = svd.Norm; _rank = svd.Rank; _s = CommonsMathWrapper.unwrap(svd.S); _singularValues = svd.SingularValues; _u = CommonsMathWrapper.unwrap(svd.U); _uTranspose = CommonsMathWrapper.unwrap(svd.UT); _v = CommonsMathWrapper.unwrap(svd.V); _vTranspose = CommonsMathWrapper.unwrap(svd.VT); _solver = svd.Solver; }