Solve a system of linear equations Ax = b using the Jacobi iterative method. Given matrix A, vector b, and an initial guess, iterate until convergence or a maximum number of iterations.
def solve_jacobi(A: list[list[float]], b: list[float], n: int) -> list[float]:
size = len(b)
x = [0.0] * size
for _ in range(n):
x_new = [0.0] * size
for i in range(size):
sigma = sum(A[i][j] * x[j] for j in range(size) if j != i)
x_new[i] = (b[i] - sigma) / A[i][i]
x = x_new
return [round(v, 4) for v in x]