Función PyTorch torch.linalg.qr
Manual de referencia de Pytorch torch
torch.linalg.qrEs una función del módulo de álgebra lineal de PyTorch utilizada para calcular la descomposición QR de una matriz. La descomposición QR descompone la matriz A en A = Q * R, donde Q es una matriz ortogonal y R es una matriz triangular superior.
Definición de la función
torch.linalg.qr(A, mode='reduced', out=None)
Parámetros:
A(Tensor): Matriz de entrada.mode(str, opcional): 'reduced' devuelve la descomposición reducida, 'complete' devuelve la descomposición completa. El valor predeterminado es 'reduced'.out(tuple, opcional): Tupla de salida.
Valor de retorno:
tuple: Devuelve una tupla (Q, R).
Ejemplo de uso
Ejemplo
import torch
# Crear matriz
A = torch.tensor([[12.0, -51.0, 4.0],
[6.0, 167.0, -68.0],
[-4.0, 24.0, -41.0]])
# Descomposición QR
Q, R = torch.linalg.qr(A)
print("Matriz A:")
print(A)
print("nMatriz ortogonal Q:")
print(Q)
print("nMatriz triangular superior R:")
print(R)
print("nVerificación: Q @ R =")
print(Q @ R)
# Crear matriz
A = torch.tensor([[12.0, -51.0, 4.0],
[6.0, 167.0, -68.0],
[-4.0, 24.0, -41.0]])
# Descomposición QR
Q, R = torch.linalg.qr(A)
print("Matriz A:")
print(A)
print("nMatriz ortogonal Q:")
print(Q)
print("nMatriz triangular superior R:")
print(R)
print("nVerificación: Q @ R =")
print(Q @ R)
El resultado de salida es:
矩阵 A:
tensor([[ 12., -51., 4.],
[ 6., 167., -68.],
[ -4., 24., -41.]])
正交矩阵 Q:
tensor([[-0.8571, 0.3943, 0.3314],
[-0.4286, -0.9029, -0.0343],
[ 0.2857, -0.1714, 0.9428]])
上三角矩阵 R:
tensor([[ -14., -21., 14.],
[ 0., -175., 70.],
[ 0., 0., -35.]])
验证: Q @ R =
tensor([[ 12., -51., 4.],
[ 6., 167., -68.],
[ -4., 24., -41.]])
Otras extensiones