import numpy as np

n = 300
h = 1/(n+1)

x = h * np.arange(1, n+1)

a = np.zeros((n, n))
np.fill_diagonal(a, -2)
np.fill_diagonal(a[1:, :-1], 1)
np.fill_diagonal(a[:-1, 1:], 1)

A = -a / h**2


b = np.pi**2 * np.sin(np.pi*x)

u = np.linalg.solve(A, b)


print("Résidu :", np.linalg.norm(A @ u - b))


print("Erreur :", np.linalg.norm(u - np.sin(np.pi*x)))

print("Hello world!")

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: