Example #1
0
        private void WriteInverse(int n, StringBuilder stringBuilder)
        {
            var stringBuilderTwo = new StringBuilder();

            var xRange = Enumerable.Range(0, n).ToArray();
            var yRange = Enumerable.Range(0, n).ToArray();

            for (int y = 0; y < n; y++)
            {
                for (int x = 0; x < n; x++)
                {
                    var plus = (x + y) % 2 == 1 ? "-" : "";
                    WriteDeterminant(n - 1, yRange.Where(i => i != y).ToArray(), xRange.Where(i => i != x).ToArray(), stringBuilderTwo, false);
                    stringBuilder.AppendLine(Formatter.InverseMember(Formatter.MatrixElement(MatrixSize, y, x), plus, stringBuilderTwo.ToString()));
                    stringBuilderTwo.Clear();
                }
            }
        }