我编写了一些 Python 代码来确定以下非线性方程的数值根:
import numpy as np
from scipy.optimize import root
func = lambda λm, a: np.tan(λm) - λm/(1+a)
λm0 = np.linspace(np.pi, m*np.pi, m) # initial guess
sol = root(func, λm0, args=(a), method='lm') # least-square optimization
这很好用,例如对于输入结果是: 这是的根,可以很容易地检查。
作为下一步,我想提供雅可比行列式,我认为应该是: 即矩阵形式具有上述值:
然而,优化例程输出的近似雅可比矩阵是:
显然,对角线上的近似导数的大小对应于我对雅可比行列式的分析值,但这些值的顺序有些不同(从向后运行),并且一些值是负数。此外,存在一个额外的(这些虚假的似乎随着的增长而出现更多),它不应该存在。
有人可以解释近似雅可比行列式和解析雅可比行列式之间的区别吗?