Какие подходы используются на практике для оценки числа условий больших разреженных матриц?
Какие подходы используются на практике для оценки числа условий больших разреженных матриц?
Ответы:
Очень часто проектируют матрицу в пространство Крылова (генерируемое повторным применением к вектору) и затем получают номер условия проектируемой матрицы. В PETSc это можно сделать автоматически, используя -ksp_monitor_singular_value.
Мой предыдущий ответ рекомендовал статью Диксона 1983 года «Оценка экстремальных собственных значений и чисел условий матриц» . По существу, он сводится к скромному числу умножений матрицы на вектор и решает случайные векторы Гаусса и, по сути, является степенным алгоритмом в сочетании с априорными границами ошибок, которые не зависят от спектра оператора.
Однако в том же смысле, в котором алгоритмы Крылова строго лучше, чем алгоритм степеней, Кучинский и Возняковский проанализировали аналог алгоритма Диксона, основанный на разложениях Ланцоша, которые в среднем будут сходиться значительно быстрее.