NDEigensystem
NDEigensystem[ℒ[u[x,y,…],u,{x,y,…}∈Ω,n]
给出线性微分算子 ℒ 在区域 Ω 上 n 个最小量级的特征值和特征函数.
NDEigensystem[{ℒ1[u[x,y,…],v[x,y,…],…],ℒ2[u[x,y,…],v[x,y,…],…],…},{u,v,…},{x,y,…}∈Ω,n]
给出在区域 Ω 上耦合微分算子 {op1,op2,…} 的特征值和特征函数.
NDEigensystem[eqns,{u,…},t,{x,y,…}∈Ω,n]
为耦合时间相关微分方程 eqns 的解 u,… 给出空间变量 {x,y,…} 的特征值和特征函数.
更多信息和选项
- NDEigensystem,亦称为本征模求解器,是一个数值特征求解器 (eigen solver),用于求区域上微分方程的特征向量和特征值.
- NDEigensystem 给出在耦合系统的情况下特征值 λi 和特征函数 ui 的列表 {{λ1,…,λn},{u1,…,un}} 或 {{λ1,…,λn},{{u1,v1,…},…,{un,vn,…}}.
- 方程 eqns 与 NDSolve 中所指定的相同.
- 微分算子 ℒ 的特征值和特征函数对 {λi,ui} 满足 ℒ[u[x,y,…]]==λi ui[x,y,…].
- 耦合微分算子的特征值和特征函数对 {λi,{ui,vi,…}} 满足:
-
ℒ1[ui[x,y,…],vi[x,y,…],…]λi ui[x,y,…] ℒ2[ui[x,y,…],vi[x,y,…],…]==λi vi[x,y,…] ⋮ - 特征值按绝对值递增的顺序排序.
- 默认归一化下,由NDEigensystem[ℒ[u[x,y,…]],u,{x,y,…}∈Ω,n] 计算得的特征函数 ui 近似满足 . »
- 默认归一化下,耦合微分算子的特征函数 {ui,vi,…} 近似满足 .
- 可以包括同质的 DirichletCondition、NeumannValue 或广义罗宾边界条件. »
- 还可包含 PeriodicBoundaryCondition.
- 当在部分边界 ∂Ω 上没有指定边界条件时,这就等价于指定诺伊曼零边界条件.
- 对于一阶时间相关方程组系统,时间导数D[u[t,x,y,…],t], D[v[t,x,y,…],t],… 实际上是被 λ u[x,y,…], λ v[x,y,…],… 替代.
- 高于一阶的时间相关方程系统被降阶至一个有中间变量 ut=u*,=…、vt=v*,=…、… 等的耦合一阶系统. 只返回函数 u, v, …. »
- NDEigensystem 接受可以用来控制不同阶段的解的 Method 选项. 设置 Method->{s1->m1,s2->m2,…} 下,步骤 si 由方法 mi 处理. 当步骤没有显式指明时, NDEigensystem 尝试自动决定将给定方法应用于哪个步骤.
- 可能的求解步骤是:
-
"PDEDiscretization" 空间算子的离散化 "Eigensystem" 根据离散系统计算特征系统 "Interpolation" 创建插值函数 "VectorNormalization" 用于构建特征函数的特征向量的归一化
范例
打开所有单元关闭所有单元基本范例 (3)
范围 (13)
一维情形 (7)
用 PeriodicBoundaryCondition 获得等价的表达式:
选项 (9)
Method (9)
"Eigensystem" (4)
用 Eigensystem 或 Eigenvalues 求解离散 PDE. 下面将讨论 NDEigensystem 中所有可用的 Eigensystem 选项.
与直接求解法(仅适用于小规模问题)相比,Arnoldi 方法在数值上更高效,但稳定性较差.
FEAST 方法适合于在特定范围内求特征值和特征向量. 用 Eigensystem 的 FEAST 方法在 范围内求 Sturm–Liouville 算子的两个特征值和特征函数:
根据 Sturm–Liouville 理论,特征值必须是不同的,但在此例中,它们几乎相同:
区间的端点 未被包含在 FEAST 求特征值的区间中;如果想要了解更多信息,请查阅 Eigensystem 的参考页面 .
"Interpolation" (1)
缺省情况下,对于区域 外的点,特征函数给出 Indeterminate:
"PDEDiscretization" (1)
"VectorNormalization" (3)
NDEigensystem 构建作为广义特征系统被求解的阻尼和刚度系统矩阵. 构建特征向量的归一化,使得应用标准化特征值于阻尼矩阵形成了一个单位矩阵:
应用 (10)
属性和关系 (3)
可能存在的问题 (15)
这个区域的离散化粒度会影响可以找到的特征值和特征函数的数目:
与一个细致的离散化相比,粗糙的离散化特征值和特征函数的差倾向于随模数而增加:
无法求解非齐次广义 Neumann 边界值条件下的特征系统:
NDEigensystem 为给定的微分算子找出 个最小量级的特征值及其对应的特征函数. 特别是在寻找最负特征值的情况下,例如许多量子力学问题,NDEigensystem 返回的 个最负值特征值可能与其默认返回的 个特征值不一致. 请看下面的范例.
以氢原子的无量纲径向薛定谔方程为例,能量单位为雷德贝格,长度以玻尔半径为单位.
这些特征值与最接近 的特征值相对应. 例如,看看这个问题的分析特征值.
如果你事先知道特征值的下限,比如 ,你就可以把特征值问题 重新定义为 . 换句话说,这是一个新的特征值问题:,其中 且 . 鉴于 是 的负下限,偏移确保了 只取正值. 因此, 的 个最小幅度值将对应于 的 个最大负值. 这样,我们就可以计算 ,然后得到 . 最简单的方法是使用 "Shift" 选项.
这些特征值与最负值的特征值相对应,但顺序相反,因此有必要对特征状态进行排序:
使用 SortBy 对特征状态进行排序:
NDEigensystem 将 PDE 转换为时间依赖的 PDE. 这种转换不是唯一的,可能会导致耦合 PDE 出现意外的结果:
在内部,给定的方程式被重写为时间依赖的 PDE 方程组. 这是通过向运算符添加时间依赖的导数项和时间变量 并将其设置为 0 来完成的. 在前面的例子中,根据给定的自变量 {v[x],u[x]},生成了以下时间系统: {D[v[t,x],t]==- u[t,x]-Laplacian[u[t,x],{x}],D[u[t,x],t]==-v[t,x]-Laplacian[v[t,x],{x}]}
因为自变量 {v[x],u[x]} 的顺序,第一个方程在 v[t,x] 上有时间依赖的导数项,第二个方程在 u[t,x] 上有时间依赖的导数项. 这很可能不是预期的方程.
可到 Finite Element Method Usage Tips 查阅更多关于这个主题的信息.
转换方程时要小心. 考虑带有齐次狄利克雷条件的 Sturm–Liouville 问题 . 特征值的解析解为:
有些情况下,对于耦合 PDE,NDEigensystem 可能返回似乎是意想不到的结果:
避免此问题的一种方法是通过 "InterpolationOrder" 选项指定因变量的排序:
可以在有限元方法教程中找到有关这个主题的更多信息.
特征函数的正负不是确定的;() 乘以特征函数,所得结果还是特征函数. 事实上,任何常数乘以特征函数,所得结果依然是特征函数. NDEigensystem 选择范数为 1 的特征函数,如属性和关系部分所述.
目前,NDEigensystem 无法处理索引变量:
对特征函数进行积分时,NIntegrate 在使用符号区域时可能会有问题:
文本
Wolfram Research (2015),NDEigensystem,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NDEigensystem.html (更新于 2023 年).
CMS
Wolfram 语言. 2015. "NDEigensystem." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2023. https://reference.wolfram.com/language/ref/NDEigensystem.html.
APA
Wolfram 语言. (2015). NDEigensystem. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NDEigensystem.html 年