Мой интерес был в основном теоретический - познавать законы природы. Хотя практическая польза от этого тоже есть, когда нужно вычислять медиану очень много раз. Например, в медианных фильтрах.
Тут дело не только в простоте. Вот вам пример из практики. Один мой коллега по работе строил сплайны по классической схеме: кубические многочлены, приравнивание производных на концах, решение общей системы уравнений. Получал результат, но в некоторых случаях появлялись небольшие невыпуклости, хотя было известно, что объект должен быть выпуклым. Тогда я предложил ему описанный выше вариант квадратичных сплайнов с нормалями, и невыпуклости исчезли. Понятно, кубические многочлены имеет больше возможностей, чем квадратные, но в каких-то случаях они могут завести не туда. Поэтому лучше проверить на практике какой способ даёт более приемлемый результат и использовать его. А вариантов много и все они для чего-то хороши.
Вначале для своих задач я пробовал метод сопряжённых градиентов. Но он давал неважную точность, а увеличение количества итераций съедало преимущество по времени по сравнению с обычным LDLt. Далее я придумал убирать лидирующие нули. Получилось и быстрее, и точнее. Что касается памяти, то матрица записывается в компактном виде без лидирующих нулей, и в моей практике её размерность редко превосходила нескольких тысяч. В общем с памятью проблем не было.
Ниже уже написали о том, что в методе Холецкого матрица А должна быть положительно определенной. В этом методе используется квадратный корень, и когда для него получаются отрицательные числа, то матрица L получается комплексной, а это уже другая история.
В любом случае корректные описания будут счётными.
Элемент множества тоже является множеством.
Я лучше перечислю все множества. Берём их описания и начинаем перечислять в лексикографическом порядке. И ничего не пропустим.
Мой интерес был в основном теоретический - познавать законы природы. Хотя практическая польза от этого тоже есть, когда нужно вычислять медиану очень много раз. Например, в медианных фильтрах.
При
будет x. Вообще при любом n будет многочлен n-ой степени. Они даже как-то называются чьим-то именем, но каким не помню.
Вот нашёл Touchard polynomials - Wikipedia
Тут дело не только в простоте. Вот вам пример из практики. Один мой коллега по работе строил сплайны по классической схеме: кубические многочлены, приравнивание производных на концах, решение общей системы уравнений. Получал результат, но в некоторых случаях появлялись небольшие невыпуклости, хотя было известно, что объект должен быть выпуклым. Тогда я предложил ему описанный выше вариант квадратичных сплайнов с нормалями, и невыпуклости исчезли. Понятно, кубические многочлены имеет больше возможностей, чем квадратные, но в каких-то случаях они могут завести не туда. Поэтому лучше проверить на практике какой способ даёт более приемлемый результат и использовать его. А вариантов много и все они для чего-то хороши.
Нет. Не пробовал.
Спасибо. Почитаю.
Да, сам придумал.
Вначале для своих задач я пробовал метод сопряжённых градиентов. Но он давал неважную точность, а увеличение количества итераций съедало преимущество по времени по сравнению с обычным LDLt. Далее я придумал убирать лидирующие нули. Получилось и быстрее, и точнее. Что касается памяти, то матрица записывается в компактном виде без лидирующих нулей, и в моей практике её размерность редко превосходила нескольких тысяч. В общем с памятью проблем не было.
Получается, что это третий метод из этой группы.
Вообще под методом Холецкого подразумевается разложение L*L^t, а ваш вариант с L*D*L^t я не рассматривал.
Ниже уже написали о том, что в методе Холецкого матрица А должна быть положительно определенной. В этом методе используется квадратный корень, и когда для него получаются отрицательные числа, то матрица L получается комплексной, а это уже другая история.