示例#1
0
        /// <summary>
        /// Returns the inverse of this matrix. The inverse is calculated using LU decomposition.
        /// </summary>
        /// <returns>The inverse of this matrix.</returns>
        public override Matrix<double> Inverse()
        {
            var order = Factors.RowCount;
            var inverse = Factors.CreateMatrix(order, order);
            for (var i = 0; i < order; i++)
            {
                inverse.At(i, i, 1.0);
            }

            return Solve(inverse);
        }
示例#2
0
        /// <summary>
        /// Returns the inverse of this matrix. The inverse is calculated using LU decomposition.
        /// </summary>
        /// <returns>The inverse of this matrix.</returns>
        public override Matrix <Complex32> Inverse()
        {
            var order   = Factors.RowCount;
            var inverse = Factors.CreateMatrix(order, order);

            for (var i = 0; i < order; i++)
            {
                inverse.At(i, i, 1.0f);
            }

            return(Solve(inverse));
        }