public static SquareMatrix Invert(SquareMatrix q, bool write) { return(new GaussMod() { invert = true } .Start(q, SquareMatrix.Id(q.Rows), write)); }
static void DegenerateInit() { if (!degenerate) { degenerate = true; DegenerateGreeting(); Table.Init(); SetCell(f0, ff); SetLength(f0, Printer.f); } else { Reset(); } var H = SquareMatrix.Id(n); var B = new Vector(n); double d = h / m; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { for (int l = 0; l < m * m; l++) { H[i, j] -= d * Beta(i, a + (0.5 + l) * d) * Alpha(j, a + (0.5 + l) * d); } } for (int l = 0; l < m * m; l++) { B[i] += d * Beta(i, a + (0.5 + l) * d) * F(a + (0.5 + l) * d); } } A = GaussMod.Do(H, B, false).X; }