Skip to content

Commit 3c818e1

Browse files
committed
test/decompositions: test ColPivHouseholderQR
1 parent 4f34929 commit 3c818e1

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

unittest/python/test_QR.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,21 @@
3838
fullpiv_householder_qr.setThreshold(1e-8)
3939
assert fullpiv_householder_qr.threshold() == 1e-8
4040
assert eigenpy.is_approx(np.eye(rows, rows), fullpiv_householder_qr.inverse())
41+
42+
# Test ColPivHouseholderQR decomposition
43+
colpiv_householder_qr = eigenpy.ColPivHouseholderQR()
44+
colpiv_householder_qr = eigenpy.ColPivHouseholderQR(rows, cols)
45+
colpiv_householder_qr = eigenpy.ColPivHouseholderQR(A)
46+
47+
colpiv_householder_qr = eigenpy.ColPivHouseholderQR(np.eye(rows, rows))
48+
X = rng.random((rows, 20))
49+
assert colpiv_householder_qr.absDeterminant() == 1.0
50+
assert colpiv_householder_qr.logAbsDeterminant() == 0.0
51+
52+
Y = colpiv_householder_qr.solve(X)
53+
assert (X == Y).all()
54+
assert colpiv_householder_qr.rank() == rows
55+
56+
colpiv_householder_qr.setThreshold(1e-8)
57+
assert colpiv_householder_qr.threshold() == 1e-8
58+
assert eigenpy.is_approx(np.eye(rows, rows), colpiv_householder_qr.inverse())

0 commit comments

Comments
 (0)