NullПрошу прощенья, описался в задании функции, вид функции такой:
Оператор "+" означает что если значение больше нуля, оно остается без изменений, а если меньше - зануляется.
Соответственно функция непрерывна, всюду имеет первую производную, ограничения на количество кусков нет, способ задания - через нелинейный оператор "+", модуль означает норму вектора L2.
Области в которых ищется минимум неизвестны, да и когда число строк в матрице порядка 10e6-10e7 перебор всех координат очень дорогое занятие.
мат-ламерЦитата:
А за сколько?
В зависимости от размерности задачи по-разному. Для одних и тех же матриц сильно зависит от параметра c.
Например сейчас взял тестовую задачу с матрицей 41x136, 691 ненулевой элемент, сходится где-то за 10-30 итераций (зависит от некоторых параметров в методе Ньютона). Эта же задача используя скорейший спуск и сопряженные градиенты вообще практически несходится, что-то близкое к решению возникает где-то на 10e5 -10e6 итерациях.
Цитата:
Метод альтернативный какому? Методу Ньютона? Методу Холецкого?
Вообще, Ньютону.
С решением СЛАУ уже перекопал все что только можно, сейчас уже опробовано порядка 10 библиотек с разными методами. Холецкий пока быстрее всех на 1-2 порядка. Даже распараллеливание не спасает.