직접적인 방법을 사용할 때 잘못된 상태의 증상은 무엇입니까?


14

우리는 선형 시스템을 가지고 있고 그 컨디셔닝에 대해 아무것도 모르고 솔루션에 대한 예비 정보가 없다고 가정하십시오. 우리는 가우시안 제거를 맹목적으로 적용하고 솔루션 얻습니다 . 매트릭스에 대한 철저한 예비 분석 없이이 솔루션이 신뢰할 수 있는지 (즉, 시스템의 상태가 양호 함)를 판단 할 수 있습니까? 피벗 크기가 신뢰할 수있는 정보를 제공합니까?x

일반적으로 "즉석에서"잘못된 상태를 감지하기위한 주요 지침은 무엇입니까?

답변:


13

매트릭스 상태 는 언제 조절 됩니까? 그것은 "아름다움이 보는 사람의 눈에있다"는 것만 큼 당신이 찾고있는 솔루션의 정확성에 달려 있습니다 ...

L U 인수 분해를 기반으로하는 저렴하고 강력한 조건 번호 추정기가 있으므로 질문을 더 잘 설명해야 합니까?LU

배정 밀도 산술의 실제 일반 (밀도, 비대칭) 문제에 관심이 있다고 가정하면, 역수 RCOND 1 / κ ( A ) 의 형태로 조건 추정치를 제공하는 LAPACK 전문가 솔버 DGESVX 를 사용하는 것이 좋습니다 . 보너스로 방정식 평형 / 밸런싱, 반복적 개선, 순방향 및 역방향 오류 범위와 같은 다른 장점도 있습니다. 그런데 병적 인 병 컨디셔닝 ( κ ( A ) > 1 / ϵ )은에 의해 오류로 표시됩니다 .RCOND1/κ(A)κ(A)>1/ϵINFO>0

더 자세하게, LAPACK 은 DGECON을 통해 1- 노름 (또는 A T x = b를 풀면 노름)의 조건 번호를 추정합니다 . 기본 알고리즘은 잔디밭 36 : "조건 추정에 사용하기위한 견고한 삼각 솔버"에 설명되어 있습니다.ATx=b

나는이 분야의 전문가가 아니라고 고백해야하지만, 나의 철학은 "LAPACK에 충분하다면 나에게 적합하다"는 것이다.


8

규범 1의 행렬을 가진 잘못 조건화 된 방정식 시스템의 해는 규범 1의 임의의 오른쪽이 높은 확률로 조건 수의 순서의 규범을 갖습니다. 따라서 몇 가지 그러한 솔루션을 계산하면 무슨 일이 일어나고 있는지 알 수 있습니다.


이는 실제로 DGECON이 수행하는 작업이며 결과를 최대화하기 위해 검색 방향을 반복적으로 수정하고 근사 오차로 인해 왜곡되지 않도록 사용자 정의 삼각 솔버 (BLAS 솔루션 아님)를 사용합니다. 따라서 DGECON의 계산 비용은 간단한 테스트와 비슷합니다. 행렬 규범과 조건 수의 단순한 의미를 기억해 주셔서 +1입니다. DGECON이 단순한 임의 검사보다 더 강력한 지 알아내는 것이 흥미로워 야합니다.
Stefano M

해결 의 조건 수가 계산 A x 의 조건 수와 일치 한다는 점을 고려 하면 실제 해결 A x = b 대신에 스케일링 된 행렬에 임의의 벡터를 곱하는 것만으로 충분 합니까? Ax=bAxAx=b
faleichik

2
@faleichik 모르겠 음의 경우 : 여기에 트릭을 확장 할 수 없습니다 그래서 = 1κ ( ) = - 1= - 1 . 물론,이 선형 대수이기 때문에 실제로 A를 스케일링 할 필요는 없지만 A x 만 스케일링 할 필요가 있습니다. 그럼에도 불구하고 먼저 " A "를 계산해야합니다 . 당신의 반대 주장은 먼저 A - 1 ”을 계산해야합니다AA=1κ(A)=AA1=A1AAxAA1우리가 평가하려고하는 것입니다.
Stefano M

5

하나의 결과만으로 시스템이 제대로 작동하지 않는지 확인하는 것은 거의 불가능합니다. 시스템의 동작에 대한 통찰력이 없다면 (즉, 솔루션이 무엇인지 알아야 함) 단일 솔루션으로 말할 수있는 것은 많지 않습니다.

이것을 말하면 동일한 둘 이상의 시스템을 해결하면 더 많은 정보를 얻을 수 있습니다 . A x = b 형식 시스템이 있다고 가정하십시오 . 컨디셔닝에 대한 사전 지식이없는 특정 A의 경우 다음 테스트를 수행 할 수 있습니다. AAx=b

  1. 해결 X = B를 특정 오른손 쪽의 벡터에 대해 (B) . Ax=bb
  2. 오른쪽 벡터를 만큼 교란시킵니다. 여기서 | | ϵ | | 에 비해 매우 작습니다 | | b | | .bnew=b+ε||ϵ||||b||
  3. 해결 X N E w = B , N E w를 .Axnew=bnew
  4. 시스템의 상태가 양호하면 새 솔루션은 기존 솔루션과 상당히 유사해야합니다 (예 : ). 새 솔루션이 크게 변경되는 경우 (예 : | | x x n e w | | 가 큰 경우) 시스템의 상태가 좋지 않을 수 있습니다. ||xxnew||||xxnew||

오른쪽 벡터가 다른 여러 선형 시스템을 풀어야 시스템의 상태가 좋지 않은지 더 잘 알 수 있습니다. 물론이 프로세스는 비용이 많이 듭니다 ( 직접 솔버가 요인을 절약한다고 가정하면 첫 번째 솔루션에 대한 연산과 각 후속 솔루션에 대한 Θ ( n 2 ) 연산). 행렬 A가 상당히 작 으면 문제가되지 않습니다. 크면이 작업을 원하지 않을 수 있습니다. 대신 조건 번호를 계산하는 것이 좋습니다. | | A | | | | A - 1 |Θ(n3)Θ(n2)편리한 표준으로.||A||||A1||


2
귀하의 주장은 진실과는 거리가 멀습니다. A 가 밀도가 높 더라도 O ( n 3 ) 작업으로 A 를 한 번 인수 분해 할 수 있으며 각 해석에는 O ( n 2 ) 작업 만 필요합니다 . Θ(kn3)AAO(n3)O(n2)
Jack Poulson

@ JackPoulson : 당신은 절대적으로 맞습니다 ... 나는 그것에 대해 완전히 떨어져 있다고 생각합니다. 걱정하지 마세요 :) 답변을 업데이트하겠습니다
Paul

결과 해결의 잔차도 평가할 수 있습니까? 이후 로 확장 | | A | | | | x | | 거의 특이한 A 는 해가 매우 나쁘더라도 의미있는 잔차를 줄 수 있습니다.
||Axb||
||A||||x||
A
Reid. Atcheson

@ Reid.Atcheson : 실제로는 아닙니다. 잘못 조정 된 시스템에 대한 대략적인 솔루션은 여전히 ​​작은 잔차를 생성 할 수 있습니다. 이것은 실제로 실제 솔루션에서 얼마나 멀리 떨어져 있는지에 대한 표시를 제공하지는 않습니다.
Paul

1
ε b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.