У мене є PETSc Mat
і я хотів би оцінити його стан.
У мене є PETSc Mat
і я хотів би оцінити його стан.
Відповіді:
Для малих матриць число умови можна надійно обчислити, використовуючи розклад сингулярного значення. Зробіть KSPSolve()
матрицю і почніть з -pc_type svd -pc_svd_monitor
.
Для більших матриць можна оцінити число умови за допомогою методу Крилова. Наприклад, ітерація Арнольді, виконана GMRES, поступово обчислює декомпозицію Гессенберга. Екстремальні сингулярні значення та власні значення матриці Гессенберга є хорошими наближеннями до початкових матриць. Щоб таким чином оцінити власні значення PETSc, запустіть з
-ksp_monitor_singular_value -ksp_type gmres -ksp_gmres_restart 1000 -pc_type none
-pc_type none
KSPSolve()
Використовуйте SLEPc, якщо вам потрібні точніші оцінки найменшого сингулярного значення (і для всіх інших задач власного значення та одиничного значення).