mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-03-01 12:28:38 +00:00
Changed the structure to correspond with PEP8 convention.
This commit is contained in:
parent
baf934f4df
commit
d2afa4cc8b
@ -1,4 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
def lanczos(a: np.ndarray) -> tuple[list[float], list[float]]:
|
def lanczos(a: np.ndarray) -> tuple[list[float], list[float]]:
|
||||||
"""
|
"""
|
||||||
Implements the Lanczos algorithm for a symmetric matrix.
|
Implements the Lanczos algorithm for a symmetric matrix.
|
||||||
@ -20,8 +22,8 @@ def lanczos(a: np.ndarray) -> tuple[list[float], list[float]]:
|
|||||||
rng = np.random.default_rng()
|
rng = np.random.default_rng()
|
||||||
v[:, 0] = rng.standard_normal(n)
|
v[:, 0] = rng.standard_normal(n)
|
||||||
v[:, 0] /= np.linalg.norm(v[:, 0])
|
v[:, 0] /= np.linalg.norm(v[:, 0])
|
||||||
alpha : list[float] = []
|
alpha: list[float] = []
|
||||||
beta : list[float] = []
|
beta: list[float] = []
|
||||||
for j in range(n):
|
for j in range(n):
|
||||||
w = np.dot(a, v[:, j])
|
w = np.dot(a, v[:, j])
|
||||||
alpha.append(np.dot(w, v[:, j]))
|
alpha.append(np.dot(w, v[:, j]))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user