Dans ce défi, vous recevrez une matrice carrée A
, un vecteur v
et un scalaire λ
. Vous devrez déterminer si(λ, v)
une paire propre correspond à A
; c'est-à-dire, que ce soit ou non Av = λv
.
Produit scalaire
Le produit scalaire de deux vecteurs est la somme de la multiplication par élément. Par exemple, le produit scalaire des deux vecteurs suivants est:
(1, 2, 3) * (4, 5, 6) = 1*4 + 2*5 + 3*6 = 32
Notez que le produit scalaire n'est défini qu'entre deux vecteurs de même longueur.
Multiplication matrice-vecteur
Une matrice est une grille de valeurs 2D. Une matrice m
x n
a des m
lignes et des n
colonnes. Nous pouvons imaginer une matrice m
x n
comme m
vecteurs de longueur n
(si nous prenons les lignes).
La multiplication matrice-vecteur est définie entre une matrice m
x n
et un n
vecteur taille . Si nous multiplions une matrice m
x n
et un n
vecteur taille , nous obtenons un m
vecteur taille . lei
valeur -th dans le vecteur de résultat est le produit scalaire dui
-th ligne de la matrice et du vecteur d'origine.
Exemple
1 2 3 4 5
Let A = 3 4 5 6 7
5 6 7 8 9
1
3
Let v = 5
7
9
Si on multiplie la matrice et le vecteur Av = x
, nous obtenons ce qui suit:
x 1 = A T 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
Donc, nous obtenons Av = x = (95, 145, 195)
.
Multiplication scalaire
La multiplication d'un scalaire (un nombre unique) et d'un vecteur est simplement une multiplication par élément. Par exemple,3 * (1, 2, 3) = (3, 6, 9)
,. C'est assez simple.
Valeurs propres et vecteurs propres
Étant donné la matrice A
, nous disons que λ
c'est une valeur propre correspondant à v
et v
est un vecteur propre correspondant à λ
si et seulement si Av = λv
. (Où Av
est la multiplication matrice-vecteur etλv
multiplication scalaire).
(λ, v)
est une paire propre.
Spécifications du défi
Contribution
L'entrée consistera en une matrice, un vecteur et un scalaire. Ceux-ci peuvent être pris dans n'importe quel ordre dans n'importe quel format raisonnable.
Production
La sortie sera une valeur véridique / fausse; véridique si et seulement si le scalaire et le vecteur sont une paire propre avec la matrice spécifiée.
Règles
- Des échappatoires standard s'appliquent
- Si une fonction intégrée de vérification d'une paire propre existe dans votre langue, vous ne pouvez pas l'utiliser.
- Vous pouvez supposer que tous les nombres sont des entiers
Cas de test
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
J'ajouterai un 4x4 plus tard.