/// <summary> /// Creates a new object that is a copy of the current instance. /// </summary> /// <returns> /// A new object that is a copy of this instance. /// </returns> /// public object Clone() { var clone = new CholeskyDecompositionF(); clone.L = (Single[, ])L.Clone(); clone.D = (Single[])D.Clone(); clone.n = n; clone.robust = robust; clone.positiveDefinite = positiveDefinite; clone.symmetric = symmetric; return(clone); }
/// <summary> /// Creates a new Cholesky decomposition directly from /// an already computed left triangular matrix <c>L</c>. /// </summary> /// <param name="leftTriangular">The left triangular matrix from a Cholesky decomposition.</param> /// public static CholeskyDecompositionF FromLeftTriangularMatrix(Single[,] leftTriangular) { var chol = new CholeskyDecompositionF(); chol.n = leftTriangular.GetLength(0); chol.L = leftTriangular; chol.symmetric = true; chol.positiveDefinite = true; chol.robust = false; chol.D = new Single[chol.n]; for (int i = 0; i < chol.D.Length; i++) { chol.D[i] = 1; } return(chol); }