mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-07-07 03:07:46 +08:00
fix(mypy): type annotations for linear algebra algorithms (#4317)
* fix(mypy): type annotations for linear algebra algorithms * refactor: remove linear algebra directory from mypy exclude
This commit is contained in:
@ -12,7 +12,7 @@ from .lib import Matrix, Vector, axpy, squareZeroMatrix, unitBasisVector, zeroVe
|
||||
|
||||
|
||||
class Test(unittest.TestCase):
|
||||
def test_component(self):
|
||||
def test_component(self) -> None:
|
||||
"""
|
||||
test for method component
|
||||
"""
|
||||
@ -21,28 +21,28 @@ class Test(unittest.TestCase):
|
||||
self.assertEqual(x.component(2), 3)
|
||||
_ = Vector()
|
||||
|
||||
def test_str(self):
|
||||
def test_str(self) -> None:
|
||||
"""
|
||||
test for toString() method
|
||||
"""
|
||||
x = Vector([0, 0, 0, 0, 0, 1])
|
||||
self.assertEqual(str(x), "(0,0,0,0,0,1)")
|
||||
|
||||
def test_size(self):
|
||||
def test_size(self) -> None:
|
||||
"""
|
||||
test for size()-method
|
||||
"""
|
||||
x = Vector([1, 2, 3, 4])
|
||||
self.assertEqual(len(x), 4)
|
||||
|
||||
def test_euclidLength(self):
|
||||
def test_euclidLength(self) -> None:
|
||||
"""
|
||||
test for the eulidean length
|
||||
"""
|
||||
x = Vector([1, 2])
|
||||
self.assertAlmostEqual(x.euclidLength(), 2.236, 3)
|
||||
|
||||
def test_add(self):
|
||||
def test_add(self) -> None:
|
||||
"""
|
||||
test for + operator
|
||||
"""
|
||||
@ -52,7 +52,7 @@ class Test(unittest.TestCase):
|
||||
self.assertEqual((x + y).component(1), 3)
|
||||
self.assertEqual((x + y).component(2), 4)
|
||||
|
||||
def test_sub(self):
|
||||
def test_sub(self) -> None:
|
||||
"""
|
||||
test for - operator
|
||||
"""
|
||||
@ -62,7 +62,7 @@ class Test(unittest.TestCase):
|
||||
self.assertEqual((x - y).component(1), 1)
|
||||
self.assertEqual((x - y).component(2), 2)
|
||||
|
||||
def test_mul(self):
|
||||
def test_mul(self) -> None:
|
||||
"""
|
||||
test for * operator
|
||||
"""
|
||||
@ -72,19 +72,19 @@ class Test(unittest.TestCase):
|
||||
self.assertEqual(str(x * 3.0), "(3.0,6.0,9.0)")
|
||||
self.assertEqual((a * b), 0)
|
||||
|
||||
def test_zeroVector(self):
|
||||
def test_zeroVector(self) -> None:
|
||||
"""
|
||||
test for the global function zeroVector(...)
|
||||
"""
|
||||
self.assertTrue(str(zeroVector(10)).count("0") == 10)
|
||||
|
||||
def test_unitBasisVector(self):
|
||||
def test_unitBasisVector(self) -> None:
|
||||
"""
|
||||
test for the global function unitBasisVector(...)
|
||||
"""
|
||||
self.assertEqual(str(unitBasisVector(3, 1)), "(0,1,0)")
|
||||
|
||||
def test_axpy(self):
|
||||
def test_axpy(self) -> None:
|
||||
"""
|
||||
test for the global function axpy(...) (operation)
|
||||
"""
|
||||
@ -92,7 +92,7 @@ class Test(unittest.TestCase):
|
||||
y = Vector([1, 0, 1])
|
||||
self.assertEqual(str(axpy(2, x, y)), "(3,4,7)")
|
||||
|
||||
def test_copy(self):
|
||||
def test_copy(self) -> None:
|
||||
"""
|
||||
test for the copy()-method
|
||||
"""
|
||||
@ -100,7 +100,7 @@ class Test(unittest.TestCase):
|
||||
y = x.copy()
|
||||
self.assertEqual(str(x), str(y))
|
||||
|
||||
def test_changeComponent(self):
|
||||
def test_changeComponent(self) -> None:
|
||||
"""
|
||||
test for the changeComponent(...)-method
|
||||
"""
|
||||
@ -109,43 +109,43 @@ class Test(unittest.TestCase):
|
||||
x.changeComponent(1, 1)
|
||||
self.assertEqual(str(x), "(0,1,0)")
|
||||
|
||||
def test_str_matrix(self):
|
||||
def test_str_matrix(self) -> None:
|
||||
A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3)
|
||||
self.assertEqual("|1,2,3|\n|2,4,5|\n|6,7,8|\n", str(A))
|
||||
|
||||
def test_determinate(self):
|
||||
def test_determinate(self) -> None:
|
||||
"""
|
||||
test for determinate()
|
||||
"""
|
||||
A = Matrix([[1, 1, 4, 5], [3, 3, 3, 2], [5, 1, 9, 0], [9, 7, 7, 9]], 4, 4)
|
||||
self.assertEqual(-376, A.determinate())
|
||||
|
||||
def test__mul__matrix(self):
|
||||
def test__mul__matrix(self) -> None:
|
||||
A = Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]], 3, 3)
|
||||
x = Vector([1, 2, 3])
|
||||
self.assertEqual("(14,32,50)", str(A * x))
|
||||
self.assertEqual("|2,4,6|\n|8,10,12|\n|14,16,18|\n", str(A * 2))
|
||||
|
||||
def test_changeComponent_matrix(self):
|
||||
def test_changeComponent_matrix(self) -> None:
|
||||
A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3)
|
||||
A.changeComponent(0, 2, 5)
|
||||
self.assertEqual("|1,2,5|\n|2,4,5|\n|6,7,8|\n", str(A))
|
||||
|
||||
def test_component_matrix(self):
|
||||
def test_component_matrix(self) -> None:
|
||||
A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3)
|
||||
self.assertEqual(7, A.component(2, 1), 0.01)
|
||||
|
||||
def test__add__matrix(self):
|
||||
def test__add__matrix(self) -> None:
|
||||
A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3)
|
||||
B = Matrix([[1, 2, 7], [2, 4, 5], [6, 7, 10]], 3, 3)
|
||||
self.assertEqual("|2,4,10|\n|4,8,10|\n|12,14,18|\n", str(A + B))
|
||||
|
||||
def test__sub__matrix(self):
|
||||
def test__sub__matrix(self) -> None:
|
||||
A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3)
|
||||
B = Matrix([[1, 2, 7], [2, 4, 5], [6, 7, 10]], 3, 3)
|
||||
self.assertEqual("|0,0,-4|\n|0,0,0|\n|0,0,-2|\n", str(A - B))
|
||||
|
||||
def test_squareZeroMatrix(self):
|
||||
def test_squareZeroMatrix(self) -> None:
|
||||
self.assertEqual(
|
||||
"|0,0,0,0,0|\n|0,0,0,0,0|\n|0,0,0,0,0|\n|0,0,0,0,0|" + "\n|0,0,0,0,0|\n",
|
||||
str(squareZeroMatrix(5)),
|
||||
|
Reference in New Issue
Block a user