큰 행렬의 대략적인 스펙트럼


14

큰 희소 행렬 (수만 행) 의 스펙트럼 ( 모든 고유 값) 을 계산하고 싶습니다 . 이것은 어렵다.

나는 근사치를 기꺼이 해결하려고한다. 이를 수행하기위한 근사법이 있습니까?

이 질문에 대한 일반적인 답변을 희망하지만 다음과 같은 경우에 대한 답변도 만족할 것입니다. 내 행렬은 큰 그래프 의 정규화 된 라플라시안 입니다. 고유 값은 0과 2 사이이며 많은 수의 값이 1 주위에 모여 있습니다.


매트릭스가 희박하거나 조밀합니까?
Aron Ahmadia 2016 년

행렬이 희박합니다. 이것을 반영하기 위해 질문을 편집했습니다.
MRocklin

모든 고유 값을 원합니까? 이것은 희소하거나 구조화 된 행렬이있을 때 수행하기에 거의 보편적으로 나쁜 일이므로 사용 계획을 아는 것이 중요합니다.
제드 브라운

그래프 laplacian의 스펙트럼에는 내가 점검하고 싶은 중요한 정보가 있습니다. 나는 그들 모두를 필요로하지 않으며, 단지 그들이 어디에 있는지 대략 알아야합니다.
MRocklin

답변:


15

그래프가 방향이 정해지지 않은 경우 (필자가 생각할 때) 행렬은 대칭이므로 Lanczsos 알고리즘보다 더 나은 작업을 수행 할 수 없습니다 (안정성을 위해 필요한 경우 선택적인 직교 화). 전체 스펙트럼이 100000 개의 숫자로 구성되어 있기 때문에 스펙트럼 밀도에 주로 관심이 있다고 생각합니다.

대략적인 스펙트럼 밀도를 얻으려면 치수가 100 정도 인 주요 Krylov 하위 공간의 스펙트럼을 가져 와서 이산 밀도를 스무드 버전으로 바꾸십시오.

주요 Krylov 스펙트럼은 잘 분리 된 고유 값 (이것이 존재해야 함)을 거의 해결하고, 비 분리 물 스펙트럼의 끝에서 고유 값을 근사하며, 누적 분포 함수가 실제 스펙트럼의 분포와 유사한 분포로 중간에 다소 임의적입니다. . 치수가 커지면 정확한 산술로 수렴합니다. (연산자가 무한한 차원 인 경우에도 마찬가지입니다. 연속 스펙트럼에서 실제 스펙트럼 밀도 함수의 적분을 얻을 수 있습니다.)


주요 Krylov 하위 공간의 스펙트럼이 100 개의 고유 값이 아닙니까? 또한 중간 값과 최소값의 분포에 관심이 있습니다.
MRocklin

1
@ MRocklin : 아니요. 자세한 내용을 제공하기 위해 답변을 보강했습니다.
Arnold Neumaier


4

고유 값이 아니라 어떤 의미에서 여전히 스펙트럼에 대해 알려주는 기능에 대해 생각하면 괜찮습니다. 라이스 대학의 Mark Embree의 작업 중 일부를 확인해야한다고 생각합니다.


2

스펙트럼을 특성화하는 또 다른 방법이 있습니다.

고유 값 문제가 주어지면 (실제 대칭 A 와 분리 된 고유 값을 가정 하지만 후자는 필요하지는 않지만) 번짐 스펙트럼 밀도 S ( ω ) = k π 1 σ 를 추정 해 봅시다 Avk=λkvkA

S(ω)=kπ1σσ2+(λkω)2=σπTr[σ2+(ωA)2]1
S(ω)=σπzT[σ2+(ωA)2]1z
z+11σω[σ2+(ωA)2]1z의 공액 구배 법, 희소 LU로, 예를 들어 계산할 수있다 큰 행렬들에 대해서도 . 실제로 CG 솔루션은 매우 정확할 필요는 없으며 평균 계산에 필요한 벡터도 많지 않습니다. 문제에 따라 달라질 수 있습니다.[ω+iσA]1[ωiσA]1S(ω)

위의 방법은 비슷하게 번지는 Krylov 스펙트럼 밀도보다 스펙트럼의 일부를 더 균등하게 계량하는 것으로 보입니다. 이는 유사 스펙트럼 접근 방식과 다소 유사하지만 결과는 지점 부근의 고유 값 수를 나타냅니다.ω 가장 가까운 고유 값에 대한 역 거리가 아니라 .

ω


0

Sanjiv Kumar, Mehryar Mohri & Ameet Talwalkar (ICML 2009.)의 "샘플링 기반 근사 스펙트럼 분해"논문을 참조하십시오. 행렬의 열 샘플링을 사용합니다.

행렬이 대칭이므로 다음을 수행해야합니다.

A를 n * n 행렬이라고합시다. n * n 행렬의 고유 값 계산을 k * k 행렬의 고유 값 계산으로 줄이려고합니다. 먼저 k 값을 선택하십시오. 500 * 500 행렬의 고유 값을 쉽게 계산할 수 있으므로 k = 500을 선택한다고 가정 해 보겠습니다. 그런 다음 행렬 A의 k 개의 열을 임의로 선택합니다. 이러한 열과 해당 행만 유지하는 행렬 B를 구성합니다.

임의의 k 인덱스 집합에 대한 B = A (x, x) x

B는 이제 ak * k 행렬입니다. B의 고유 값을 계산하고 (n / k)를 곱하십시오. 이제 n의 고유 값과 같이 대략적으로 분포 된 k 개의 값이 있습니다. n이 아닌 k 개의 값만 가져 오지만 분포는 정확합니다 (근사치 임).


-1

Gershgorin Circle Theorem 경계를 항상 사용 하여 고유 값에 근접 할 수 있습니다 .

비대 각 항이 작 으면 대각선 자체가 스펙트럼의 근사치입니다. 그렇지 않으면 (다른 방법으로) 고유 공간의 근사값으로 끝나면이 시스템에서 대각선 항목을 표현하려고 시도 할 수 있습니다. 이것은 대각선 이외의 항이 더 작은 행렬로 이어지고 새로운 대각선이 더 나은 스펙트럼 근사치가됩니다.


Gerschgoring은 근사값을 제공하지 않고 오류 범위를 제공하므로 여기서는 관련이 없습니다. 또한 희소 행렬에 대해 방법을 사용하려면 밀도가 높은 고유 벡터 행렬이 필요하므로 OP 문제로 저장할 수 없습니다.
Arnold Neumaier 2016 년

내가 말했듯이, 대각선 자체는 Gershgorin circle 정리에 의해 주어진 오차 범위를 가진 스펙트럼의 근사치입니다. 물론 Gershgorin 오차 범위는 근사치가 아닙니다. OP가 행렬이 희소하다고 말한 이후로 나는 대각선이 아닌 용어가 작 으면 대각선이 좋은 근사치가 될 것입니다.
FKaria

5
실제로 발생하는 대부분의 희소 행렬은 각 행과 열에 중요한 대각선 이외의 요소가 있으므로 대각선이 매우 근사한 근사치 (예 : 일반 그래프의 라플라시안의 경우 대각선이 일정 함)를 만들고 오류 경계는 쓸모가 없습니다.
Arnold Neumaier 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.