done
This commit is contained in:
@ -0,0 +1,105 @@
|
||||
""" Test functions for linalg module using the matrix class."""
|
||||
import numpy as np
|
||||
from numpy.linalg.tests.test_linalg import (
|
||||
CondCases,
|
||||
DetCases,
|
||||
EigCases,
|
||||
EigvalsCases,
|
||||
InvCases,
|
||||
LinalgCase,
|
||||
LinalgTestCase,
|
||||
LstsqCases,
|
||||
PinvCases,
|
||||
SolveCases,
|
||||
SVDCases,
|
||||
_TestNorm2D,
|
||||
_TestNormDoubleBase,
|
||||
_TestNormInt64Base,
|
||||
_TestNormSingleBase,
|
||||
apply_tag,
|
||||
)
|
||||
from numpy.linalg.tests.test_linalg import TestQR as _TestQR
|
||||
|
||||
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
|
Reference in New Issue
Block a user