In questa sfida, ti verrà data una matrice quadrata A
, un vettore v
e uno scalare λ
. Ti verrà richiesto di determinare se (λ, v)
è una eigenpair corrispondente a A
; cioè, indipendentemente dal fatto Av = λv
.
Prodotto a punti
Il prodotto punto di due vettori è la somma della moltiplicazione degli elementi. Ad esempio, il prodotto punto dei seguenti due vettori è:
(1, 2, 3) * (4, 5, 6) = 1*4 + 2*5 + 3*6 = 32
Si noti che il prodotto punto è definito solo tra due vettori della stessa lunghezza.
Moltiplicazione matrice-vettore
Una matrice è una griglia di valori 2D. Una matrice m
x n
ha m
righe e n
colonne. Possiamo immaginare una matrice m
x n
come m
vettori di lunghezza n
(se prendiamo le righe).
La moltiplicazione Matrix-Vector è definita tra una matrice m
x n
e un n
vettore size . Se moltiplichiamo una matrice m
xe n
un n
vettore di dimensioni , otteniamo un m
vettore di dimensioni . Il i
valore -th nel vettore risultato è il prodotto punto della i
riga -th della matrice e del vettore originale.
Esempio
1 2 3 4 5
Let A = 3 4 5 6 7
5 6 7 8 9
1
3
Let v = 5
7
9
Se moltiplichiamo la matrice e il vettore Av = x
, otteniamo quanto segue:
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
Quindi otteniamo Av = x = (95, 145, 195)
.
Moltiplicazione scalare
La moltiplicazione di uno scalare (un singolo numero) e di un vettore è semplicemente una moltiplicazione basata sull'elemento. Ad esempio 3 * (1, 2, 3) = (3, 6, 9)
,. È abbastanza semplice.
Autovalori ed autovettori
Data la matrice A
, diciamo che λ
è un autovalore corrispondente a v
ed v
è un autovettore corrispondente a λ
se e solo se Av = λv
. (Dov'è la Av
moltiplicazione matrice-vettore e λv
la moltiplicazione scalare).
(λ, v)
è una eigenpair.
Specifiche della sfida
Ingresso
L'input consisterà in una matrice, un vettore e uno scalare. Questi possono essere presi in qualsiasi ordine in qualsiasi formato ragionevole.
Produzione
L'output sarà un valore di verità / falsa; in verità se e solo se lo scalare e il vettore sono una autofair con la matrice specificata.
Regole
- Si applicano scappatoie standard
- Se esiste un built-in per la verifica di una eigenpair nella tua lingua, non puoi usarlo.
- Si può presumere che tutti i numeri siano numeri interi
Casi 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
Aggiungerò un 4x4 più tardi.