Я работаю над Книгой NURBS Пигла и Тиллера. Для алгоритма глобальной интерполяции они требуют, чтобы вы предоставили две утилиты для решения системы линейных уравнений:
LUDecomposition(A, q, sbw)
разложить матрицу коэффициентовq x q
с полуширинойsbw
на нижнюю и верхнюю треугольные составляющие; для простоты мы предполагаем, чтоA
представляет собой массив изq x q
квадратов, но следует использовать утилиту, которая хранит только ненулевую полосу.
ForwardBackward(A, q, sbw, rhs, sol)
для выполнения прямой/обратной замены (см. [Press88]); rhs[] — правая часть системы (координаты Q_k), а sol[] — вектор решения (координаты P_i).
Проверив ссылку Press88, я обнаружил, что это Числовые рецепты на C. Я должен быть в состоянии переработать алгоритм из этой книги, чтобы получить функцию ForwardBackward
, но что касается LUDecomposition
, где я могу найти алгоритм, который работает для особого случая матрицы с диагональными полосами?
A
предполагаетсяtridiagonal
? - person StaticBeagle   schedule 29.05.2018