diff --git a/compute.py b/compute.py index 35d0f9d..7f6ce6c 100644 --- a/compute.py +++ b/compute.py @@ -1,12 +1,16 @@ """Hilfsfunktionen für grundlegende Matrixoperationen.""" from __future__ import annotations -from typing import List, Sequence, TypeVar + +from collections.abc import Sequence +from typing import TypeVar Number = TypeVar("Number", int, float) -def matmul(a: Sequence[Sequence[Number]], b: Sequence[Sequence[Number]]) -> List[List[Number]]: +def matmul( + a: Sequence[Sequence[Number]], b: Sequence[Sequence[Number]] +) -> list[list[Number]]: """ Multipliziert zwei Matrizen miteinander. @@ -29,13 +33,15 @@ def matmul(a: Sequence[Sequence[Number]], b: Sequence[Sequence[Number]]) -> List raise ValueError("Matrix a ist nicht rechteckig") if len(b) != n: - raise ValueError("Die Anzahl der Spalten in a muss der Anzahl der Zeilen in b entsprechen") + raise ValueError( + "Die Anzahl der Spalten in a muss der Anzahl der Zeilen in b entsprechen" + ) p = len(b[0]) for row in b: if len(row) != p: raise ValueError("Matrix b ist nicht rechteckig") - result: List[List[Number]] = [[0 for _ in range(p)] for _ in range(m)] + result: list[list[Number]] = [[0 for _ in range(p)] for _ in range(m)] for i in range(m): for j in range(p): total: Number = 0 @@ -45,7 +51,7 @@ def matmul(a: Sequence[Sequence[Number]], b: Sequence[Sequence[Number]]) -> List return result -def transpose(matrix: Sequence[Sequence[Number]]) -> List[List[Number]]: +def transpose(matrix: Sequence[Sequence[Number]]) -> list[list[Number]]: """ Transponiert eine Matrix. @@ -65,7 +71,7 @@ def transpose(matrix: Sequence[Sequence[Number]]) -> List[List[Number]]: n_rows = len(matrix) n_cols = row_len - transposed: List[List[Number]] = [[0] * n_rows for _ in range(n_cols)] + transposed: list[list[Number]] = [[0] * n_rows for _ in range(n_cols)] for i in range(n_rows): for j in range(n_cols): transposed[j][i] = matrix[i][j] @@ -74,8 +80,9 @@ def transpose(matrix: Sequence[Sequence[Number]]) -> List[List[Number]]: import math -#ich soll was ändern -def rot_2D(theta: Number) -> List[List[Number]]: + +# ich soll was ändern +def rot_2D(theta: Number) -> list[list[Number]]: """ Erstellt die 2D-Rotationsmatrix für einen gegebenen Winkel. @@ -90,4 +97,9 @@ def rot_2D(theta: Number) -> List[List[Number]]: cos_t = math.cos(theta) sin_t = math.sin(theta) - return [[cos_t, -sin_t], [sin_t, cos_t]] \ No newline at end of file + return [[cos_t, -sin_t], [sin_t, cos_t]] + + +from tabulate import tabulate + +print(tabulate(rot_2D(1.0))) diff --git a/pyproject.toml b/pyproject.toml index 46e3b47..3a776b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,4 @@ [project] name = "matrixmania" -version = "0.1.0" \ No newline at end of file +version = "0.1.0" +dependencies = ["tabulate", "ruff"] \ No newline at end of file