Fonction torch.linalg.qr de PyTorch
Manuel de référence Pytorch torch
torch.linalg.qrC'est une fonction du module d'algèbre linéaire de PyTorch utilisée pour calculer la décomposition QR d'une matrice. La décomposition QR factorise la matrice A en A = Q * R, où Q est une matrice orthogonale et R est une matrice triangulaire supérieure.
Définition de fonction
torch.linalg.qr(A, mode='reduced', out=None)
Parameters:
A(Tensor): matrice d'entrée.mode(str, facultatif): 'reduced' renvoie la décomposition réduite, 'complete' renvoie la décomposition complète. Valeur par défaut: 'reduced'.out(tuple, facultatif) : Tuple de sortie.
Valeur de retour:
tuple: Renvoie le tuple (Q, R).
Exemple d'utilisation
Exemple
import torch
# Créer une matrice
A = torch.tensor([[12.0, -51.0, 4.0],
[6.0, 167.0, -68.0],
[-4.0, 24.0, -41.0]])
# Décomposition QR
Q, R = torch.linalg.qr(A)
print("Matrice A :")
print(A)
print("nMatrice orthogonale Q:")
print(Q)
print("nMatrice triangulaire supérieure R:")
print(R)
print("nVérification: Q @ R =")
print(Q @ R)
# Créer une matrice
A = torch.tensor([[12.0, -51.0, 4.0],
[6.0, 167.0, -68.0],
[-4.0, 24.0, -41.0]])
# Décomposition QR
Q, R = torch.linalg.qr(A)
print("Matrice A :")
print(A)
print("nMatrice orthogonale Q:")
print(Q)
print("nMatrice triangulaire supérieure R:")
print(R)
print("nVérification: Q @ R =")
print(Q @ R)
Le résultat de sortie est:
矩阵 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.]])
Autres extensions