En este desafío, se le dará una matriz cuadrada A
, un vector v
y un escalar λ
. Se le pedirá que determine si (λ, v)
es un par propio correspondiente a A
; es decir, sea o no Av = λv
.
Producto de punto
El producto punto de dos vectores es la suma de la multiplicación por elementos. Por ejemplo, el producto escalar de los siguientes dos vectores es:
(1, 2, 3) * (4, 5, 6) = 1*4 + 2*5 + 3*6 = 32
Tenga en cuenta que el producto escalar solo se define entre dos vectores de la misma longitud.
Multiplicación Matriz-Vector
Una matriz es una cuadrícula de valores 2D. Una matriz m
x n
tiene m
filas y n
columnas. Podemos imaginar una matriz m
x n
como m
vectores de longitud n
(si tomamos las filas).
La multiplicación matriz-vector se define entre una matriz m
x n
y un n
vector tamaño . Si multiplicamos una matriz m
x n
y un n
vector de tamaño , obtenemos un m
vector de tamaño . El i
valor -th en el vector resultante es el producto de punto de la i
fila -th de la matriz y el vector original.
Ejemplo
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 multiplicamos la matriz y el vector Av = x
, obtenemos lo siguiente:
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
Entonces, lo tenemos Av = x = (95, 145, 195)
.
Multiplicación escalar
La multiplicación de un escalar (un número único) y un vector es simplemente una multiplicación por elementos. Por ejemplo, 3 * (1, 2, 3) = (3, 6, 9)
. Es bastante sencillo.
Valores propios y vectores propios
Dada la matriz A
, decimos que λ
es un valor propio correspondiente a v
y v
es un vector propio correspondiente a λ
si y solo si Av = λv
. (Donde Av
es la multiplicación matriz-vector y λv
la multiplicación escalar).
(λ, v)
es un eigenpair
Especificaciones del desafío
Entrada
La entrada consistirá en una matriz, un vector y un escalar. Estos se pueden tomar en cualquier orden en cualquier formato razonable.
Salida
La salida será un valor verdadero / falso; Verdaderamente si y solo si el escalar y el vector son un par propio con la matriz especificada.
Reglas
- Se aplican lagunas estándar
- Si existe un incorporado para verificar un par propio en su idioma, no puede usarlo.
- Puede suponer que todos los números son enteros
Casos de prueba
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
Agregaré un 4x4 más tarde.