Привет! Интересует метод нахождения обратной матрицы методом вращений с QR-разложением. Если у кого есть такой плз помогите. Ниже мой вариант. Еще очень нужен этот же метод, но блочный. Т.е. разбиение матрицы на блоки матрицы, для того чтобы каждая матрица помешалась в кеш, для ускорения работы, естественно с использованием данного метода.
#include <math.h>
#include "inv.h"
#define Eps 1.0e-100
int InvMatrix(int n, double *a, double *x)
{
int i, j, k;
double tmp, q, t, x1, x2;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
x[i*n+j] = (i == j);
for (i = 0; i < n; i++)
{
for (j = n — 1; j > i; j--)
{
if (fabs(a[j*n+i]) < Eps)
continue;