Запитання з тегом «numerical-limitations»

2
Чисельно стійкий спосіб обчислення кутів між векторами
При застосуванні класичної формули кута між двома векторами: α=arccosv1⋅v2∥v1∥∥v2∥α=arccos⁡v1⋅v2‖v1‖‖v2‖\alpha = \arccos \frac{\mathbf{v_1} \cdot \mathbf{v_2}}{\|\mathbf{v_1}\| \|\mathbf{v_2}\|} виявляється, що при дуже малих / гострих кутах втрачається точність, і результат не є точним. Як пояснено у цій відповіді про переповнення стека , одним із варіантів є використання арктангенту: α=arctan2(∥v1×v2∥,v1⋅v2)α=arctan⁡2(‖v1×v2‖,v1⋅v2)\alpha = \arctan2 \left(\|\mathbf{v_1} \times …

2
Скільки регуляризації додати, щоб зробити SVD стабільним?
Я використовував SVD Intel MKL ( dgesvdчерез SciPy) і зауважив, що результати значно відрізняються, коли я змінюю точність між float32і float64коли моя матриця погано обумовлена ​​/ не повний ранг. Чи є керівництво щодо мінімальної кількості регуляризації, яке я повинен додати, щоб зробити результати нечутливими до float32-> float64зміни? Зокрема, роблячи A=UDVTA=UDVTA=UDV^{T}, …

2
Числова стійкість поліномів вищого порядку Зерніке
Я намагаюся обчислити моменти вищого порядку (наприклад m=0, n=46) моменти Zernike для деякого зображення. Однак я зіткнувся з проблемою щодо радіального многочлена (див. Wikipedia ). Це поліном, визначений на проміжку [0 1]. Дивіться код MATLAB нижче function R = radial_polynomial(m,n,RHO) R = 0; for k = 0:((n-m)/2) R = R …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.