我正在尝试计算拉普拉斯算子的特征函数,即找到在
现在我正试图在一维中做到这一点,所以
我正在使用有限差分法。我的边界条件是在. 这是我的代码和结果:
import numpy as np
from scipy.sparse.linalg import eigs
import matplotlib.pyplot as plt
n = 200
h = 2/(n-1) # domain for x and y is [-1, 1]
L = np.diag(np.ones(n-1), k=-1) + np.diag(-2*np.ones(n)) + \
np.diag(np.ones(n-1), k=1)
L *= -1/h**2
eigvals, eigvecs = eigs(L)
eig = np.real(eigvecs[:, 0])
x = np.linspace(-1, 1, num=n)
plt.plot(x, eig)
plt.show()
谁能看到我做错了什么,或者就如何修复我的代码提出建议?