В lapack есть функции для решения задач вида ||B - Ax|| -> min методом наименьших квадратов. А мне сейчас нужно решить задачу вида ||B - Ax||^2 + ||C - Dx||^2 -> min. Не могу понять как можно одно к другому преобразовать и что вообще теперь делать. Может стоит посмотреть как написана dgels() и написать по аналогии свою функцию?
В принципе сейчас решение задачи запрограммировано и работает. На листочке были выписаны производные и коэффициенты матрицы, а потом просто в цикле заполняется нужная матрица и решается обычная система лин. уравнений. Но меня не устраивает произовдительность получившегося решения. Я вроде всё что мог оптимизировал, но заполнение матрицы происходит долго. При размерности задачи около 500 оно ещё приемлемо работает, но при 1000 уже совсем медленно получается.