eigs
고유값(Eigenvalue)과 고유벡터(Eigenvector)의 부분 집합
구문
설명
예제
행렬 A = delsq(numgrid('C',15))는 (0 8) 구간에 적절히 분산된 고유값을 갖는 양의 정부호 대칭 행렬입니다. 가장 큰 고유값 여섯 개를 계산합니다.
A = delsq(numgrid('C',15));
d = eigs(A)d = 6×1
7.8666
7.7324
7.6531
7.5213
7.4480
7.3517
특정 개수의 가장 큰 고유값을 계산하려면 두 번째 입력값을 지정하십시오.
d = eigs(A,3)
d = 3×1
7.8666
7.7324
7.6531
행렬 A = delsq(numgrid('C',15))는 (0 8) 구간에 적절히 분산된 고유값을 갖는 양의 정부호 대칭 행렬입니다. 가장 작은 고유값 다섯 개를 계산합니다.
A = delsq(numgrid('C',15)); d = eigs(A,5,'smallestabs')
d = 5×1
0.1334
0.2676
0.3469
0.4787
0.5520
0이 아닌 요소의 밀도가 25% 정도인 희소 형식의 1500×1500 확률 행렬을 만듭니다.
n = 1500; A = sprand(n,n,0.25);
행렬의 LU 분해를 수행하여 A(p,:) = L*U를 충족하는 치환 벡터 p를 반환합니다.
[L,U,p] = lu(A,'vector');벡터 입력값 x를 받고 LU 분해의 결과를 사용하여 사실상 A\x를 반환하는 함수 핸들 Afun을 만듭니다.
Afun = @(x) U\(L\(x(p)));
eigs와 함께 함수 핸들 Afun을 사용하여 가장 작은 고유값 여섯 개를 계산합니다. 두 번째 입력값은 A의 크기입니다.
d = eigs(Afun,1500,6,'smallestabs')d = 6×1 complex
0.1423 + 0.0000i
0.4859 + 0.0000i
-0.3323 - 0.3881i
-0.3323 + 0.3881i
0.1019 - 0.5381i
0.1019 + 0.5381i
west0479는 켤레 고유값의 실수 쌍과 복소수 쌍을 모두 포함한 실수 값의 479×479 희소 행렬입니다.
west0479 행렬을 불러온 후 eig를 사용하여 모든 고유값을 계산하고 플로팅하십시오. 고유값이 복소수이므로 plot에서는 실수부를 x 좌표로, 허수부를 y 좌표로 각각 자동으로 사용합니다.
load west0479 A = west0479; d = eig(full(A)); plot(d,'+')

고유값은 실수 선(x축)을 따라 특히 원점 근처에 모여 있습니다.
eigs에는 각기 다른 유형의 최대 고유값이나 최소 고유값을 선택할 수 있는 sigma에 대한 여러 가지 옵션이 있습니다. sigma에서 사용할 수 있는 각각의 옵션에 대해 고유값을 계산하고 플로팅합니다.
figure plot(d, '+') hold on la = eigs(A,6,'largestabs'); plot(la,'ro') sa = eigs(A,6,'smallestabs'); plot(sa,'go') hold off legend('All eigenvalues','Largest magnitude','Smallest magnitude') xlabel('Real axis') ylabel('Imaginary axis')

figure plot(d, '+') hold on ber = eigs(A,4,'bothendsreal'); plot(ber,'r^') bei = eigs(A,4,'bothendsimag'); plot(bei,'g^') hold off legend('All eigenvalues','Both ends real','Both ends imaginary') xlabel('Real axis') ylabel('Imaginary axis')

figure plot(d, '+') hold on lr = eigs(A,3,'largestreal'); plot(lr,'ro') sr = eigs(A,3,'smallestreal'); plot(sr,'go') li = eigs(A,3,'largestimag','SubspaceDimension',45); plot(li,'m^') si = eigs(A,3,'smallestimag','SubspaceDimension',45); plot(si,'c^') hold off legend('All eigenvalues','Largest real','Smallest real','Largest imaginary','Smallest imaginary') xlabel('Real axis') ylabel('Imaginary axis')

양의 정부호 대칭 희소 행렬을 생성합니다.
A = delsq(numgrid('C', 150));A를 이용한 크릴로프(Krylov) 방법을 차용하는 'smallestreal'로 실수부 기준으로 최소 고유값 여섯 개를 계산합니다.
tic
d = eigs(A, 6, 'smallestreal')d = 6×1
0.0013
0.0025
0.0033
0.0045
0.0052
0.0063
toc
Elapsed time is 2.896550 seconds.
A의 역행렬을 이용한 크릴로프 방법을 차용하는 'smallestabs'로 동일한 고유값을 계산합니다.
tic
dsm = eigs(A, 6, 'smallestabs')dsm = 6×1
0.0013
0.0025
0.0033
0.0045
0.0052
0.0063
toc
Elapsed time is 0.261787 seconds.
고유값은 0 근처에 모여 있습니다. 'smallestreal' 계산에서는 고유값 간 간격이 너무 작아 A를 사용하여 수렴하는 것이 쉽지 않습니다. 반대로, 'smallestabs' 옵션에서는 A의 역행렬을 사용하는데, A의 고유값의 역은 고유값 간 간격이 훨씬 더 크기 때문에 계산하기가 더욱 쉽습니다. 이러한 성능 향상은 'smallestreal'에서는 불필요한 과정인 A 분해에 드는 계산 과정이 생략되기에 일어납니다.
고유값과 거의 같은 숫자형 sigma 값에 가까운 고유값을 계산합니다.
행렬 A = delsq(numgrid('C',30))은 632 크기의 양의 정부호 대칭 행렬로, (0 8) 구간에 적절히 분산된 고유값을 갖지만 18개의 고유값이 4.0에서 반복됩니다. 4.0에 가까운 고유값을 계산하려면 함수 호출 eigs(A,20,4.0)을 시도하는 것이 합리적입니다. 그러나 이 호출은 A - 4.0*I의 역행렬에서 가장 큰 고유값을 계산합니다. 여기서 I는 단위 행렬입니다. 4.0이 A의 고유값이기 때문에 이 행렬은 특이 행렬이며, 따라서 역행렬을 갖지 않습니다. eigs는 실패하고 오류 메시지를 만듭니다. sigma의 숫자형 값은 고유값과 정확히 같을 수 없습니다. 대신, 이 고유값을 구하기 위해서는 4.0에 가깝지만 4와 동일하지 않은 sigma 값을 사용해야 합니다.
먼저 eig를 사용하여 모든 고유값을 계산하고, 이후 eigs를 사용하여 4 - 1e-6에 가장 가까운 고유값 20개를 계산한 후, 두 계산 결과를 비교합니다. 각 방법으로 계산된 고유값을 플로팅합니다.
A = delsq(numgrid('C',30));
sigma = 4 - 1e-6;
d = eig(A);
D = sort(eigs(A,20,sigma));plot(d(307:326),'ks') hold on plot(D,'k+') hold off legend('eig(A)','eigs(A,20,sigma)') title('18 Repeated Eigenvalues of A')

0이 아닌 요소의 비율이 적은 희소 형식의 확률 행렬 A B를 만듭니다.
B = sprandn(1e3,1e3,0.001) + speye(1e3); B = B'*B; A = sprandn(1e3,1e3,0.005); A = A+A';
세 개의 출력값을 사용해 행렬 B의 촐레스키 분해(Cholesky Decomposition)를 수행하여 치환 벡터 s와 테스트 값 p를 반환합니다.
[R,p,s] = chol(B,'vector');
pp = 0
p가 0이므로 B는 B(s,s) = R'*R을 충족하는 양의 정부호 대칭 행렬입니다.
A와 R을 포함하는 일반 고유값 문제의 최대 고유값과 고유벡터 여섯 개를 각각 계산합니다. R이 B의 촐레스키 인수(Cholesky Factor)이므로 'IsCholesky'를 true로 지정하십시오. 또한 B(s,s) = R'*R이며, 고로 R = chol(B(s,s))이므로 치환 벡터 s를 'CholeskyPermutation'의 값으로 사용하십시오.
[V,D,flag] = eigs(A,R,6,'largestabs','IsCholesky',true,'CholeskyPermutation',s); flag
flag = 0
flag가 0이므로 모든 고유값이 수렴됩니다.
입력 인수
입력 행렬로, 정사각 행렬로 지정됩니다. A는 항상 그렇지는 않지만 일반적으로 큰 희소 행렬입니다.
A가 대칭 행렬이면 eigs는 그에 특화된 알고리즘을 사용합니다. A가 거의 대칭에 가까우면 eigs를 호출하기 전에 A = (A+A')/2를 사용하여 A를 대칭 행렬로 만드는 것을 고려해 보십시오. 이렇게 하면 eigs가 복소수 고유값 대신 실수 고유값을 계산합니다.
데이터형: single | double
복소수 지원 여부: 예
입력 행렬로, A와 같은 크기의 정사각 행렬로 지정됩니다. B가 지정된 경우 eigs는 일반 고유값 문제 A*V = B*V*D의 해를 구합니다.
B가 양의 정부호 대칭 행렬이면 eigs는 그에 특화된 알고리즘을 사용합니다. B가 거의 양의 정부호 대칭 행렬에 가까우면 eigs를 호출하기 전에 B = (B+B')/2를 사용하여 B를 대칭 행렬로 만드는 것을 고려해 보십시오.
A가 스칼라인 경우 B를 빈 행렬 eigs(A,[],k)로 지정하여 표준 고유값 문제의 해를 구하고 B와 k를 구별할 수 있습니다.
데이터형: single | double
복소수 지원 여부: 예
계산할 고유값 개수로, 양의 정수 스칼라로 지정됩니다. k가 size(A,2)보다 크면 eigs는 유효한 최댓값 k = size(A,2)를 대신 사용합니다.
예: eigs(A,2)는 A에서 가장 큰 고유값 두 개를 반환합니다.
고유값의 유형으로, 다음 표에 있는 값 중 하나로 지정됩니다.
| sigma | 설명 | sigma(R2017a 이하) |
|---|---|---|
| 스칼라(실수 또는 복소수, 0 포함) | 숫자 | 변경 없음 |
|
| 최대 크기의 고유값입니다. | 'lm' |
|
| 최소 크기의 고유값입니다. | 'sm' |
|
| 실수부 기준 최대 고유값입니다. | 'lr', 'la' |
|
| 실수부 기준 최소 고유값입니다. | 'sr', 'sa' |
|
| 실수부 기준으로 최대 및 최소 고유값 | 'be' |
비대칭 문제의 경우, sigma는 다음과 같습니다.
| sigma | 설명 | sigma(R2017a 이하) |
|---|---|---|
|
| 허수부 기준 최대 고유값입니다. | A가 복소수이면 'li'. |
|
| 허수부 기준 최소 고유값입니다. | A가 복소수이면 'si'. |
|
| 허수부 기준으로 최대 및 최소 고유값 | A가 실수 행렬인 경우 'li'. |
예: eigs(A,k,1)은 1에 가장 가까운 고유값 k개를 반환합니다.
예: eigs(A,k,'smallestabs')은 가장 작은 고유값 k개를 반환합니다.
데이터형: single | double | char | string
options 구조체로, 다음 표의 필드 중 하나 이상을 포함하는 구조체로 지정됩니다.
참고
옵션을 지정하는 데 options 구조체를 사용하는 것은 권장되지 않습니다. 대신 이름-값 쌍을 사용하십시오.
| 옵션 필드 | 설명 | 이름-값 쌍 |
|---|---|---|
issym |
| 'IsFunctionSymmetric' |
tol | 수렴 허용오차. | 'Tolerance' |
maxit | 최대 반복 횟수입니다. | 'MaxIterations' |
p | Lanczos 기저 벡터 개수입니다. | 'SubspaceDimension' |
v0 | 시작 벡터입니다. | 'StartVector' |
disp | 진단 정보 표시 수준. | 'Display' |
fail | 출력값에서 수렴되지 않은 고유값 처리. | 'FailureTreatment' |
spdB | B가 양의 정부호 대칭 행렬입니까? | 'IsSymmetricDefinite' |
cholB |
| 'IsCholesky' |
permB | 희소 | 'CholeskyPermutation' |
예: opts.issym = 1, opts.tol = 1e-10은 필드 issym과 tol의 값이 설정된 구조체를 생성합니다.
데이터형: struct
행렬 함수로, 함수 핸들로 지정됩니다. 함수 y = Afun(x)는 다음 sigma 입력값에 따라 적절한 값을 반환해야 합니다.
A*x—sigma가 지정되지 않거나'smallestabs'이외의 텍스트 옵션인 경우.A\x—sigma가0이거나'smallestabs'인 경우(A-sigma*I)\x—sigma가 0이 아닌 스칼라인 경우(표준 고유값 문제)(A-sigma*B)\x—sigma가 0이 아닌 스칼라인 경우(일반 고유값 문제)
예를 들어, 다음 Afun은 sigma = 'smallestabs'을 사용하여 eigs를 호출할 때 동작합니다.
[L,U,p] = lu(A,'vector'); Afun = @(x) U\(L\(x(p))); d = eigs(Afun,100,6,'smallestabs')
일반 고유값 문제의 경우에는 다음과 같이 행렬 B를 추가하십시오(B는 함수 핸들로 나타낼 수 없음).
d = eigs(Afun,100,B,6,'smallestabs')
'IsFunctionSymmetric'(또는 opts.issym)이 지정되지 않으면 A가 비대칭 행렬로 가정됩니다. 'IsFunctionSymmetric'을 true로 설정하면 eigs가 복소수 고유값 대신 실수 고유값을 계산합니다.
함수 Afun에 추가 파라미터를 제공하는 방법에 대한 자세한 내용은 함수를 파라미터화하기 항목을 참조하십시오.
팁
eigs 호출에 'Display' 옵션을 설정하여 Afun에서 예상되는 출력값을 확인할 수 있습니다.
Afun으로 표현된 정사각 행렬 A의 크기로, 양의 정수 스칼라로 지정됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.
예: d = eigs(A,k,sigma,'Tolerance',1e-10,'MaxIterations',100)은 수렴 허용오차를 완화하고 더 적은 반복 횟수를 사용합니다.
일반 옵션
수렴 허용오차로, 'Tolerance'과 함께 양의 실수 숫자형 스칼라가 쉼표로 구분되어 지정됩니다.
예: s = eigs(A,k,sigma,'Tolerance',1e-3)
최대 알고리즘 반복 횟수로, 'MaxIterations'와 함께 양의 정수가 쉼표로 구분되어 지정됩니다.
예: d = eigs(A,k,sigma,'MaxIterations',350)
크릴로프 부분공간의 최대 크기로, 'SubspaceDimension'과 함께 음이 아닌 정수가 쉼표로 구분되어 지정됩니다. 'SubspaceDimension' 값은 실수 대칭 문제의 경우 k + 1보다 크거나 같아야 하고, 그렇지 않으면 k + 2보다 크거나 같아야 합니다. k는 고유값 개수입니다.
권장되는 값은 p >= 2*k이거나, 실수 비대칭형 문제의 경우 p >= 2*k+1입니다. 'SubspaceDimension' 값을 지정하지 않으면 디폴트 알고리즘은 적어도 20개의 Lanczos 벡터를 사용합니다.
eigs가 수렴에 실패하는 문제의 경우에는 'SubspaceDimension' 값을 증가시키면 수렴 동작이 개선될 수 있습니다. 그러나, 값을 너무 많이 늘리면 메모리 문제를 초래할 수 있습니다.
예: d = eigs(A,k,sigma,'SubspaceDimension',25)
초기 시작 벡터로, 'StartVector'와 함께 숫자형 벡터가 쉼표로 구분되어 지정됩니다.
다른 확률 시작 벡터를 지정하는 1차적인 이유는 벡터를 생성하는 데 사용되는 난수 스트림을 제어해야 할 때입니다.
참고
eigs는 프라이빗 난수 스트림을 사용하여 재현 가능한 방식으로 시작 벡터를 선택합니다. 난수 시드값을 변경해도 시작 벡터에는 영향을 주지 않습니다.
예: d = eigs(A,k,sigma,'StartVector',randn(m,1))에서는 전역 난수 스트림에서 값을 도출하는 난수 시작 벡터를 사용합니다.
데이터형: single | double
수렴되지 않는 고유값의 처리 방식으로, 'FailureTreatment'와 함께 'replacenan', 'keep' 또는 'drop' 옵션 중 하나가 쉼표로 구분되어 지정됩니다.
'FailureTreatment'의 값에 따라 eigs 함수가 출력값에 수렴되지 않는 고유값을 표시하는 방식이 결정됩니다.
| 옵션 | 출력값에 미치는 영향 |
|---|---|
|
| 수렴되지 않은 고유값을 |
|
| 출력값에 수렴되지 않은 고유값을 포함합니다. |
|
| 출력값에서 수렴되지 않은 고유값을 제거합니다. 이 옵션을 설정하면 |
예: d = eigs(A,k,sigma,'FailureTreatment','drop')은 출력값에서 수렴되지 않은 고유값을 제거합니다.
데이터형: char | string
진단 정보 표시에 대한 토글로, 'Display'와 함께 숫자형 또는 논리값 1(true)이나 0(false)이 쉼표로 구분되어 지정됩니다. true 또는 1 값을 지정하면 계산 중에 진단 정보가 표시됩니다.
Afun에 대한 옵션
Afun 행렬의 대칭 여부로, 'IsFunctionSymmetric'과 함께 숫자형 또는 논리값 1(true)이나 0(false)이 쉼표로 구분되어 지정됩니다.
이 옵션은 Afun이 입력 벡터에 적용하는 행렬이 대칭 행렬인지 여부를 지정합니다. eigs가 대칭 행렬에 대해 특화된 알고리즘을 사용하고 실수 고유값을 반환하도록 하려면 true 또는 1로 값을 지정하십시오.
일반 고유값 문제 A*V = B*V*D에 대한 옵션
B에 대한 촐레스키 분해 여부 토글로, 'IsCholesky'와 함께 숫자형 또는 논리값 1(true)이나 0(false)이 쉼표로 구분되어 지정됩니다.
이 옵션은 호출 eigs(A,B,___)에 있는 행렬 B의 입력값이 실제로 R = chol(B)에서 생성된 촐레스키 인수 R인지 여부를 지정합니다.
참고
sigma가 'smallestabs' 또는 숫자형 스칼라인 경우에는 이 옵션을 사용하지 마십시오.
촐레스키 치환 벡터로, 'CholeskyPermutation'과 함께 숫자형 벡터가 쉼표로 구분되어 지정됩니다. chol(B(permB,permB))에 따라 인수분해하기 전에 희소 행렬 B가 다시 정렬된 경우 치환 벡터 permB를 지정하십시오.
[R,p,permB] = chol(B,'vector')와 같이 희소 행렬에 출력값을 3개 갖는 chol 구문을 사용하여 permB를 직접 얻을 수도 있습니다.
참고
sigma가 'smallestabs' 또는 숫자형 스칼라인 경우에는 이 옵션을 사용하지 마십시오.
B의 양의 정부호 대칭 행렬 여부를 전환하는 토글로, 'IsSymmetricDefinite'와 함께 숫자형 또는 논리값 1(true)이나 0(false)이 쉼표로 구분되어 지정됩니다. B가 양의 정부호 대칭 행렬임을 즉, 이것이 순양수 고유값으로 구성된 대칭 행렬임을 알고 있으면 true 또는 1을 지정하십시오.
B가 양의 준정부호 행렬이면(일부 고유값은 0임) 'IsSymmetricDefinite'를 true 또는 1로 지정할 때 eigs 함수는 B가 양의 정부호 대칭 행렬일 때 사용하는 전문 알고리즘과 같은 알고리즘을 사용하게 됩니다.
참고
이 옵션을 사용하려면 sigma의 값이 숫자형이거나 'smallestabs'여야 합니다.
출력 인수
고유값으로, 열 벡터로 반환됩니다. d는 sigma의 값에 따라 다르게 정렬됩니다.
|
| 출력값 정렬 |
|---|---|
|
| 크기 기준 내림차순 정렬 |
|
| 실수부 기준 내림차순 정렬 |
|
| 허수부 기준 내림차순 정렬 |
|
| 크기 기준 오름차순 정렬 |
|
| 실수부 기준 오름차순 정렬 |
|
| 허수부 기준 오름차순 정렬 |
|
| 허수부의 절댓값 기준 내림차순 정렬 |
고유벡터로, 행렬로 반환됩니다. V의 열은 D의 주대각선상에 있는 고유값에 대응합니다. V의 형식과 정규화는 다음과 같이 입력 인수의 조합에 따라 달라집니다.
[V,D] = eigs(A)는 행렬V를 반환합니다. 행렬의 각 열은A*V = V*D를 충족하는A의 우고유벡터입니다.V내 고유벡터는 각각의 2-노름이 1이 되도록 정규화됩니다.A가 대칭 행렬이면 고유벡터V는 정규 직교 벡터입니다.[V,D] = eigs(A,B)는 각 열이A*V = B*V*D를 충족하는 일반화된 우고유벡터인 행렬,V를 반환합니다. 각 고유벡터의 2-노름은 반드시 1일 필요가 없습니다.B가 양의 정부호 대칭 행렬이면V의 고유벡터는 각각의B-노름이 1이 되도록 정규화됩니다.A도 대칭 행렬이면 고유벡터는B-정규 벡터입니다.
컴퓨터, MATLAB® 릴리스 또는 파라미터(예: 시작 벡터 및 부분공간 차원)가 다르면, 같지는 않지만 수치적으로는 정확한 고유벡터가 생성될 수 있습니다.
실수 고유벡터의 경우, 고유벡터의 기호가 달라질 수 있습니다.
복소수 고유벡터의 경우, 크기가 1인 복소수와 고유벡터를 곱할 수 있습니다.
중복 고유값의 경우, 선형 결합을 통해 고유벡터를 다시 결합할 수 있습니다. 예를 들어, Ax = λx이고 Ay = λy인 경우 A(x+y) = λ(x+y)이므로, x+y도 A의 고유벡터입니다.
고유값 행렬로, 주대각선에 고유값이 있는 대각 행렬로 반환됩니다.
수렴 플래그로, 0 또는 1로 반환됩니다. 값이 0이면 모든 고유값이 수렴되었음을 나타냅니다. 그렇지 않으면 일부 고유값이 수렴되지 않았음을 나타냅니다.
이 수렴 플래그 출력값을 사용하면 실패한 수렴에 대한 경고가 표시되지 않습니다.
팁
eigs는 프라이빗 난수 스트림을 사용하는 디폴트 시작 벡터를 생성하여 매 실행마다 같은 결과를 재현할 수 있게 합니다.eigs를 호출하기 전에rng를 사용하여 난수 생성기 상태를 설정해도 출력값에는 영향을 주지 않습니다.작고 조밀한 행렬의 고유값 몇 개를 구하자고자 한다면
eigs를 사용하는 것이 그렇게 효율적인 방법은 아닙니다. 이러한 문제에는eig(full(A))를 사용하는 것이 더 빠를 수 있습니다. 예를 들어, 500×500 행렬에서 고유값 세 개를 구하는 것은 비교적 작은 문제이며eig를 사용하여 쉽게 처리할 수 있습니다.eigs가 어떤 행렬에 대해 수렴하지 않는 경우'SubspaceDimension'값을 늘려 Lanczos 기저 벡터의 개수를 늘려보십시오. 부차적인 옵션으로 최대 반복 횟수,'MaxIterations', 수렴 허용오차'Tolerance'를 조정하는 것도 수렴 동작에 도움이 될 수 있습니다.
참고 문헌
[1] Stewart, G.W. "A Krylov-Schur Algorithm for Large Eigenproblems." SIAM Journal of Matrix Analysis and Applications. Vol. 23, Issue 3, 2001, pp. 601–614.
[2] Lehoucq, R.B., D.C. Sorenson, and C. Yang. ARPACK Users' Guide. Philadelphia, PA: SIAM, 1998.
확장 기능
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
입력 행렬
A와B는double형이어야 합니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨다음 인수를 단정밀도로 지정할 수 있습니다.
A,B— 입력 행렬sigma— 고유값의 유형StartVector— 초기 시작 벡터
A, B 또는 StartVector를 단정밀도로 지정할 경우, 함수는 단정밀도로 계산되고 single형의 출력값을 반환합니다.
행렬 함수 Afun과 행렬 크기 n만 입력값으로 지정하면 eigs의 출력값은 Afun의 출력값과 정밀도가 같습니다. B 또는 StartVector도 single형으로 지정하면 Afun의 출력값도 single형이어야 합니다.
출력값의 정렬 순서 변경
이제
eigs는sigma의 값에 따라 출력값을 정렬합니다. 예를 들어, 명령eigs(A,k,'largestabs')는k개의 고유값을 크기를 기준으로 내림차순으로 정렬하여 생성합니다.이전에는
eigs에 의해 생성되는 출력값의 정렬 순서가 보장되지 않았습니다.재현성
이제
eigs를 연속해서 여러 번 호출하면 동일한 결과가 생성됩니다. 이 동작을 변경하려면'StartVector'를 확률 벡터로 설정하십시오.표시
2의 표시 값이 더 이상 시간 측정 정보를 반환하지 않습니다. 그 대신eigs는2의 값을1의 값과 동일하게 취급합니다.'Display'옵션에 의해 표시되는 메시지도 변경되었습니다. 이제 메시지가 Ritz 값 대신 각 반복의 잔차를 표시합니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)