Можно свести решение Вашей системы порядка 2N к обращению матрицы порядка N и решению системы порядка N:
1. Запишем исходную систему в виде
2. Перепишем ее в виде двух матричных уравнений порядка N
3. Из второго
4. Подставим в 1-е:
или
Алгоритм:
- обратить матрицу A;
- решить систему 4-б) и найти
;
- подстановкой
найти
из 3)
И еще некоторые замечания:
5. Для решения больших систем итерационные методы часто эффективнее, чем прямые (типа Гаусса). Например, попробуйте метод сопряженных градиентов.
6. Поскольку у Вас ~500 итераций на шаге можно попробовать применить идею преград: на начальных итерациях иногда нет смысла решать СЛУ слишком точно.
7. Если матрица A от шага к шагу меняется мало, можно применить алгоритм корректировки обратной матрицы при изменении элемента / столбца / строки прямой. Алгоритм работает быстро, но неустойчив, так что нужно периодически выполнять обращение.
-