xref: /aosp_15_r20/external/lmfit/test/py_qr.py (revision 5ddc57e5d924f146ab5fd87df586563e2270da38)
1*5ddc57e5SXin Li#!/usr/bin/env python3
2*5ddc57e5SXin Li
3*5ddc57e5SXin Liimport sys
4*5ddc57e5SXin Liimport numpy as np
5*5ddc57e5SXin Liimport scipy.linalg as la
6*5ddc57e5SXin Li
7*5ddc57e5SXin Lin = 3
8*5ddc57e5SXin Li
9*5ddc57e5SXin Liif sys.argv.__len__()!=n*n+1:
10*5ddc57e5SXin Li    print( "bad # args" )
11*5ddc57e5SXin Li    sys.exit()
12*5ddc57e5SXin Li
13*5ddc57e5SXin Li
14*5ddc57e5SXin LiA = np.empty([n,n], dtype='f8')
15*5ddc57e5SXin Li
16*5ddc57e5SXin Lifor j in range(n):
17*5ddc57e5SXin Li    for i in range(n):
18*5ddc57e5SXin Li        A[j][i] = sys.argv[1+j*n+i]
19*5ddc57e5SXin Li
20*5ddc57e5SXin Liprint( "A:" )
21*5ddc57e5SXin Liprint( A )
22*5ddc57e5SXin Li
23*5ddc57e5SXin LiQ,R,P = la.qr(A, pivoting=True)
24*5ddc57e5SXin Li
25*5ddc57e5SXin Liprint( "Q:" )
26*5ddc57e5SXin Liprint( Q )
27*5ddc57e5SXin Li
28*5ddc57e5SXin Liprint( "R:" )
29*5ddc57e5SXin Liprint( R )
30*5ddc57e5SXin Li
31*5ddc57e5SXin Liprint( "P:" )
32*5ddc57e5SXin Liprint( P )
33