Dans ce défi, vous recevrez une matrice carrée A, un vecteur vet 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 mx na des mlignes et des ncolonnes. Nous pouvons imaginer une matrice mx ncomme mvecteurs de longueur n(si nous prenons les lignes).
La multiplication matrice-vecteur est définie entre une matrice mx net un nvecteur taille . Si nous multiplions une matrice mx net un nvecteur taille , nous obtenons un mvecteur 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 à vet vest un vecteur propre correspondant à λ si et seulement si Av = λv . (Où Avest 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.