Показано (Юсеф Саад, Итерационные методы для разреженных линейных систем , стр. 260), что
Это правда и для ?
В случае , если является с , заметим , что я
Означает ли это, что формулировка в терминах предпочтительнее в этом случае?
linear-algebra
condition-number
Александр
источник
источник
Ответы:
Если с , то , так что не может быть полный ранг, т.е. единственном числе.A∈RN×M N<M
Соответственно, номер условия . Из-за арифметики конечной точности, если вы вычисляете в Matlab, вы получите большое число, а не .κ2(ATA)=∞
cond(A'A)
Inf
источник
Ну, взгляд давайте, почему имеет приблизительно квадрат числа обусловленности . Используя SVD-разложение , с , , , мы можем выразить какATA A A=USVT U∈RN×N S∈RN×M V∈RM×M ATA
Что мы приходим, отметив , что ортонормальна, так что . Далее отметим, что является диагональной матрицей, так что окончательное разложение может быть выражено как , где означает , что дает диагональную матрицу с первыми N единичными значениями из квадрате по диагонали. Это означает, что, поскольку число условий является отношением первого и последнего единственного значения, для ,U UTU=I S ATA VS2VT S2 STS S cond(A)=s1sN A∈RN×M
Теперь мы можем выполнить то же упражнение с :AAT
Это означает, что мы получаем результат , так как здесь означает , небольшое отличие от обозначений выше.cond(AAT)=s21s2N S2 SST
Но обратите внимание на эту тонкую разницу! Для номер условия имеет M-е единственное значение в знаменателе, в то время как имеет N-е единственное значение. Это объясняет, почему вы видите значительные различия в числе условий - действительно будет «лучше подготовлен», чем .ATA AAT AAT ATA
Тем не менее, Дэвид Кетчес был прав: вы сравниваете числа условий между двумя совершенно разными матрицами. В частности, то , что вы можете достичь с не будет таким же , как то , что вы можете сделать с .ATA AAT
источник
Утверждение, чтоcondA2≈condATA (для квадратных матриц)
в вопросе и[Правка: я неправильно прочитал] в ответе Артана - нонсенс. Встречный примердля которого вы можете легко проверить, чтоcondATA=O(ϵ−4) пока condA2=O(ϵ−2) ,
источник
В точной арифметике cond (A ^ 2) = cond (A'A) = cond (AA '), см., Например. Голуб и Ван Лоан, 3-е изд., Стр. 70. Это не верно в арифметике с плавающей запятой, если A почти не имеет ранга. Лучший совет - следовать вышеприведенным рецептам книг при решении задач наименьших квадратов, самым безопасным из которых является метод SVD, стр. 257. Вместо этого используйте \ varepsilon-rank при вычислении SVD, где \ varepsilon - это разрешение ваших данных матрицы.
источник