Spaces:
Sleeping
Sleeping
| """ Test functions for linalg module using the matrix class.""" | |
| import numpy as np | |
| from numpy.linalg.tests.test_linalg import ( | |
| LinalgCase, apply_tag, TestQR as _TestQR, LinalgTestCase, | |
| _TestNorm2D, _TestNormDoubleBase, _TestNormSingleBase, _TestNormInt64Base, | |
| SolveCases, InvCases, EigvalsCases, EigCases, SVDCases, CondCases, | |
| PinvCases, DetCases, LstsqCases) | |
| CASES = [] | |
| # square test cases | |
| CASES += apply_tag('square', [ | |
| LinalgCase("0x0_matrix", | |
| np.empty((0, 0), dtype=np.double).view(np.matrix), | |
| np.empty((0, 1), dtype=np.double).view(np.matrix), | |
| tags={'size-0'}), | |
| LinalgCase("matrix_b_only", | |
| np.array([[1., 2.], [3., 4.]]), | |
| np.matrix([2., 1.]).T), | |
| LinalgCase("matrix_a_and_b", | |
| np.matrix([[1., 2.], [3., 4.]]), | |
| np.matrix([2., 1.]).T), | |
| ]) | |
| # hermitian test-cases | |
| CASES += apply_tag('hermitian', [ | |
| LinalgCase("hmatrix_a_and_b", | |
| np.matrix([[1., 2.], [2., 1.]]), | |
| None), | |
| ]) | |
| # No need to make generalized or strided cases for matrices. | |
| class MatrixTestCase(LinalgTestCase): | |
| TEST_CASES = CASES | |
| class TestSolveMatrix(SolveCases, MatrixTestCase): | |
| pass | |
| class TestInvMatrix(InvCases, MatrixTestCase): | |
| pass | |
| class TestEigvalsMatrix(EigvalsCases, MatrixTestCase): | |
| pass | |
| class TestEigMatrix(EigCases, MatrixTestCase): | |
| pass | |
| class TestSVDMatrix(SVDCases, MatrixTestCase): | |
| pass | |
| class TestCondMatrix(CondCases, MatrixTestCase): | |
| pass | |
| class TestPinvMatrix(PinvCases, MatrixTestCase): | |
| pass | |
| class TestDetMatrix(DetCases, MatrixTestCase): | |
| pass | |
| class TestLstsqMatrix(LstsqCases, MatrixTestCase): | |
| pass | |
| class _TestNorm2DMatrix(_TestNorm2D): | |
| array = np.matrix | |
| class TestNormDoubleMatrix(_TestNorm2DMatrix, _TestNormDoubleBase): | |
| pass | |
| class TestNormSingleMatrix(_TestNorm2DMatrix, _TestNormSingleBase): | |
| pass | |
| class TestNormInt64Matrix(_TestNorm2DMatrix, _TestNormInt64Base): | |
| pass | |
| class TestQRMatrix(_TestQR): | |
| array = np.matrix | |