Номер условия составов A'A и AA '

9

Показано (Юсеф Саад, Итерационные методы для разреженных линейных систем , стр. 260), чтоcond(AA)cond(A)2

Это правда и для ?AA

В случае , если является с , заметим , что яAN×MNMcond(AA)cond(AA)

Означает ли это, что формулировка в терминах предпочтительнее в этом случае?AA

Александр
источник
2
Вы сравниваете номера условий двух матриц с очень разными размерами. Без объяснения причин кажется, что сравнение, вероятно, не имеет смысла. Конечно, если вы можете выполнить то, что вам нужно, используя гораздо меньшую матрицу, вы должны это сделать (даже если условия были схожими).
Дэвид Кетчесон
1
Новый ответ Стефано М ниже верен. Пожалуйста, прочитайте и проголосуйте.
Дэвид Кетчон

Ответы:

6

Если с , то , так что не может быть полный ранг, т.е. единственном числе.ARN×MN<M

rank(ATA)=rank(AAT)=rank(A)N<M
ATARM×M

Соответственно, номер условия . Из-за арифметики конечной точности, если вы вычисляете в Matlab, вы получите большое число, а не .κ2(ATA)=cond(A'A)Inf

Стефано М
источник
@OscarB: сингулярные значения - это просто , нет такого понятия, как е сингулярное значение! Ваш вывод правильный, но, пожалуйста, обратите внимание, что если , являются sv для , то , в то время как с конечными нулями . ANMσii=1NASST=diag(σ12,,σn2)STS=diag(σ12,,σn2,0,,0)MN
Стефано М
8

Ну, взгляд давайте, почему имеет приблизительно квадрат числа обусловленности . Используя SVD-разложение , с , , , мы можем выразить какATAAA=USVTURN×NSRN×MVRM×MATA

ATA=(USVT)TUSVT=VSTUTUSVT=VSTSVT

Что мы приходим, отметив , что ортонормальна, так что . Далее отметим, что является диагональной матрицей, так что окончательное разложение может быть выражено как , где означает , что дает диагональную матрицу с первыми N единичными значениями из квадрате по диагонали. Это означает, что, поскольку число условий является отношением первого и последнего единственного значения, для , UUTU=ISATAVS2VTS2STSScond(A)=s1sNARN×M

cond(ATA)=s12sM2=(s1sM)2=cond(A)2

Теперь мы можем выполнить то же упражнение с :AAT

AAT=USVT(USVT)T=USVTVSTUT=US2UT

Это означает, что мы получаем результат , так как здесь означает , небольшое отличие от обозначений выше.cond(AAT)=s12sN2S2SST

Но обратите внимание на эту тонкую разницу! Для номер условия имеет M-е единственное значение в знаменателе, в то время как имеет N-е единственное значение. Это объясняет, почему вы видите значительные различия в числе условий - действительно будет «лучше подготовлен», чем .ATAAATAATATA

Тем не менее, Дэвид Кетчес был прав: вы сравниваете числа условий между двумя совершенно разными матрицами. В частности, то , что вы можете достичь с не будет таким же , как то , что вы можете сделать с .ATAAAT

OscarB
источник
Это отличное объяснение! Теперь я ясно вижу разницу. Матрица A используется для построения нормальных уравнений, и с небольшими изменениями вы также можете сформулировать ее как , а не как классическую . Можете ли вы также сказать, выгодно ли использовать решатель типа LSQR вместо решения нормальных уравнений? Поскольку LSQR не требует создания этого продукта вообще. AAAA
Александр
Рад, что это имело смысл. В общем, вам необходимо учитывать обусловленность проблемы. Но, если это не проблема, вы можете использовать либо нормальные уравнения / QR-факторизацию (из A) / LSQR, в зависимости от размера проблемы (среди прочего). Если ваша проблема не является большой или плохо обусловленной, я бы, вероятно, применил QR-факторизацию, но без дополнительных знаний о проблеме, которую вы пытаетесь решить, трудно сказать. Я уверен, что другие с большим опытом могли бы дать более подробный совет.
OscarB
Само А плохо обусловлено (с условным числом 107), плотный и большой. QR не вариант. Так как это плохо обусловлено, я все равно должен добавить некоторую регуляризацию. Теперь простой тихоновской регуляризации кажется достаточно. Дело в том, что еслиcond(A)<cond(AAT)<cond(ATA) (для моего случая с N<M) тогда использование LSQR представляется предпочтительным, поскольку вам вообще не нужно создавать какой-либо продукт. Вопрос в том, совпадают ли решения, полученные с помощью нормальных уравнений и LSQR?
Александр
Ну, насколько я понимаю, LSQR обеспечит идентичное решение для нормальных уравнений после «бесконечного числа» итераций с точной точностью. Однако для некорректных задач решение нормальных уравнений не то, которое вам нужно. Вместо этого вы хотите использовать LSQR для итерации, пока не будет достигнута полусходимость. Однако управление итерационными алгоритмами в некорректных задачах - это совсем другая игра с мячом. Кроме того, в зависимости от стоимости вашего матрично-векторного произведения и количества необходимых итераций (и, следовательно, матвек), прямое решение Тихонова с бидиагонализацией может быть лучше.
OscarB
Потрясающее объяснение. +1 для вас, сэр!
meawoppl
2

Утверждение, что condA2condATA(для квадратных матриц) в вопросе и [Правка: я неправильно прочитал] в ответе Артана - нонсенс. Встречный пример

A=(ϵ10ϵ),ϵ1

для которого вы можете легко проверить, что condATA=O(ϵ4) пока condA2=O(ϵ2),

Джед браун
источник
Хорошо, чтобы подчеркнуть, что A2 а также ATA в целом очень отличаются от того, что касается eigs, svds, cond number: но, на мой взгляд, вопрос о [cond(A)]2,
Стефано М
@ StefanoM Спасибо, кажется, я неправильно прочитал, хотя из обсуждения, не был единственным.
Джед Браун
1

В точной арифметике cond (A ^ 2) = cond (A'A) = cond (AA '), см., Например. Голуб и Ван Лоан, 3-е изд., Стр. 70. Это не верно в арифметике с плавающей запятой, если A почти не имеет ранга. Лучший совет - следовать вышеприведенным рецептам книг при решении задач наименьших квадратов, самым безопасным из которых является метод SVD, стр. 257. Вместо этого используйте \ varepsilon-rank при вычислении SVD, где \ varepsilon - это разрешение ваших данных матрицы.

Артан
источник
Извините, я посмотрел на Голуба и Ван Лоан 3-е изд. 70, и не смог найти ничего, подтверждающего утверждение cond (A ^ 2) = cond (A ^ TA) = cond (AA ^ T). Не могли бы вы быть более конкретным с вашей ссылкой?
OscarB
Там нет никакого утверждения, но вы можете вывести из теоремы 2.5.2 и псевдообратного, раздел 5.5.4, что cond (AA ') = cond (A'A). Причина, по которой я выбираю псевдообратное, состоит в том, что именно это имеет значение для решения проблемы наименьших квадратов. Равенство после cond (A ^ 2) должно быть \ прибл., Извините за опечатку.
Артан
Нет, этот ответ совершенно неверный. Смотрите мой контрпример.
Джед Браун
Саад, должно быть, высказал такую ​​точку зрения в каком-то конкретном контексте. Что касается рассматриваемого вопроса, это исходящий аргумент.
Артан