이 도전에서는 정사각 행렬 A
, 벡터 v
및 스칼라가 제공 λ
됩니다. 에 (λ, v)
해당하는 고유 쌍 인지 확인해야 합니다 A
. 즉, 여부 Av = λv
입니다.
도트 제품
두 벡터의 내적은 요소 별 곱셈의 합입니다. 예를 들어 다음 두 벡터의 내적은 다음과 같습니다.
(1, 2, 3) * (4, 5, 6) = 1*4 + 2*5 + 3*6 = 32
내적은 길이가 같은 두 벡터 사이에서만 정의됩니다.
행렬 벡터 곱셈
행렬은 값의 2D 격자입니다. m
X의 n
행렬 갖는 m
행과 n
열. m
x n
행렬 m
을 길이의 벡터 로 상상할 수 있습니다 n
(행을 취하는 경우).
행렬-벡터 곱셈은 m
x n
행렬과 크기- n
벡터 사이에 정의됩니다 . m
x n
행렬과 크기 n
벡터를 곱하면 크기 벡터를 얻습니다 m
. i
결과 벡터 의- 번째 값 i
은 행렬 의- 번째 행과 원래 벡터 의 내적 입니다.
예
1 2 3 4 5
Let A = 3 4 5 6 7
5 6 7 8 9
1
3
Let v = 5
7
9
행렬과 벡터를 곱 Av = x
하면 다음과 같은 결과가 나타납니다.
x 1 = AT 1 * v /* AT1 means the first row of A; A1 would be the first column */
= (1,2,3,4,5) * (1,3,5,7,9) = 1 * 1 + 2 * 3 + 3 * 5 + 4 * 7 + 5 * 9 = 1 + 6 + 15 + 28 + 45 = 95
x 2 = A T 2 * v = (3,4,5,6,7) * (1,3,5,7,9) = 3 * 1 + 4 * 3 + 5 * 5 + 6 * 7 + 7 * 9 = 3 + 12 + 25 + 42 + 63 = 145
x 3 = A T 3 * v = (5,6,7,8,9) * (1,3,5,7,9) = 5 * 1 + 6 * 3 + 7 * 5 + 8 * 7 + 9 * 9 = 5 + 18 + 35 + 56 + 81 = 195
그래서 우리는 얻는다 Av = x = (95, 145, 195)
.
스칼라 곱셈
스칼라 (단일 숫자)와 벡터의 곱셈은 단순히 요소 별 곱셈입니다. 예를 들면 다음과 같습니다 3 * (1, 2, 3) = (3, 6, 9)
. 상당히 간단합니다.
고유 값과 고유 벡터
행렬이 주어지면 A
, 우리 λ
는 if에 해당하는 고유 값 v
이고 if와 if에v
해당하는 고유 벡터 라고 말합니다 . ( 행렬-벡터 곱셈이고 스칼라 곱입니다).λ
Av = λv
Av
λv
(λ, v)
고유 쌍입니다.
도전 사양
입력
입력은 행렬, 벡터 및 스칼라로 구성됩니다. 이들은 합리적인 형식으로 어떤 순서로든 취할 수 있습니다.
산출
결과는 진실 / 거짓 값이 될 것입니다. 스칼라와 벡터가 지정된 행렬과의 고유 쌍인 경우에만 진실입니다.
규칙
- 표준 허점 적용
- 귀하의 언어로 고유 쌍을 확인하기위한 내장 기능이있는 경우이를 사용할 수 없습니다.
- 모든 숫자가 정수라고 가정 할 수 있습니다
테스트 사례
MATRIX VECTOR EIGENVALUE
2 -3 -1 3
1 -2 -1 1 1 -> TRUE
1 -3 0 0
2 -3 -1 1
1 -2 -1 1 -2 -> TRUE
1 -3 0 1
1 6 3 1
0 -2 0 0 4 -> TRUE
3 6 1 1
1 0 -1 2
-1 1 1 1 7 -> FALSE
1 0 0 0
-4 3 1
2 1 2 2 -> TRUE
2 1 2 -> TRUE
나중에 4x4를 추가하겠습니다.