Пример #1
0
        /// <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 CholeskyDecompositionD FromLeftTriangularMatrix(Decimal[,] leftTriangular)
        {
            var chol = new CholeskyDecompositionD();

            chol.n = leftTriangular.Rows();
            chol.L = leftTriangular;
            chol.positiveDefinite = true;
            chol.robust           = false;
            chol.D = Vector.Ones <Decimal>(chol.n);
            return(chol);
        }
Пример #2
0
        /// <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 CholeskyDecompositionD();

            clone.L                = (Decimal[, ])L.Clone();
            clone.D                = (Decimal[])D.Clone();
            clone.n                = n;
            clone.robust           = robust;
            clone.positiveDefinite = positiveDefinite;
            clone.symmetric        = symmetric;
            return(clone);
        }
Пример #3
0
        /// <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 CholeskyDecompositionD();

            clone.L                = L.MemberwiseClone();
            clone.D                = (Decimal[])D.Clone();
            clone.destroyed        = destroyed;
            clone.n                = n;
            clone.undefined        = undefined;
            clone.robust           = robust;
            clone.positiveDefinite = positiveDefinite;
            return(clone);
        }
Пример #4
0
        /// <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 CholeskyDecompositionD FromLeftTriangularMatrix(Decimal[,] leftTriangular)
        {
            var chol = new CholeskyDecompositionD();

            chol.n                = leftTriangular.GetLength(0);
            chol.L                = leftTriangular;
            chol.symmetric        = true;
            chol.positiveDefinite = true;
            chol.robust           = false;
            chol.D                = new Decimal[chol.n];
            for (int i = 0; i < chol.D.Length; i++)
            {
                chol.D[i] = 1;
            }

            return(chol);
        }