LinearSolve
LinearSolve[m,b]
求解矩阵方程 m.x==b 的 x.
LinearSolve[m]
产生一个可重复应用于不同 b 的 LinearSolveFunction[…].
LinearSolve[a,b]
求解数组方程 a.x==b 的 x.
更多信息和选项
- LinearSolve 可用于数字矩阵和符号矩阵,也可用于 SparseArray 对象.
- 自变量 b 或者是一个向量或者是一个矩阵. »
- 矩阵 m 可以是方阵或矩形阵. »
- LinearSolve[m] 和 LinearSolveFunction[…] 提供一个有效的方式多次求解相同的近似数值的线性系统.
- LinearSolve[m,b] 等价于 LinearSolve[m][b].
- 对未确定的系统,LinearSolve 返回一个可能的特解;Solve 返回通解. »
- 对于一个 n1×…×nk×m 的数组 a 和一个 n1×…×nk×d1×…×dl 的数组 b,LinearSolve[a,b] 给出一个 m×d1×…×dl 的数组 x,使得 a.xb.
- LinearSolve 具有下列选项和设置:
-
Method Automatic 使用的方法 Modulus 0 是否求解模 n ZeroTest Automatic 测试以判断什么时候表达式是零 - ZeroTest 选项只应用于精确和符号矩阵.
- 设置 Method->Automatic,取决于输入自动选择该方法.
- 精确和符号矩阵的显式 Method 设置包括:
-
"CofactorExpansion" 拉普拉斯 cofactor 展开 "DivisionFreeRowReduction" 不可除行化简的 Bareiss 方法 "OneStepRowReduction" 标准行化简 - 近似数值矩阵的显式 Method 设置包括:
-
"Banded" 带状矩阵求解器 "Cholesky" 正定 Hermitian 矩阵的 Cholesky 方法 "Krylov" 迭代 Krylov 稀疏求解器 "Multifrontal" 直接稀疏 LU 分解 "Pardiso" 并行直接稀疏求解器
范例
打开所有单元关闭所有单元范围 (16)
基本用法 (9)
特殊矩阵 (6)
选项 (7)
Method (6)
"Krylov" (2)
"BasisSize" | Krylov 基的大小(只适用于 GMRES 法) | |
"MaxIterations" | 最大迭代次数 | |
"Method" | 使用的方法 | |
"Preconditioner" | 使用哪个预条件子 | |
"PreconditionerSide" | 怎样运用预条件子("Left" 或 "Right") | |
"ResidualNormFunction" | 范数函数,用来计算解的残差的范数 | |
"StartingVector" | 迭代计算的初始向量 | |
"Tolerance" | 停止迭代的容差 |
"BiCGStab" | 用于厄尔米特矩阵的迭代算法 | |
"ConjugateGradient" | 用于正定厄尔米特矩阵的迭代算法 | |
"GMRES" | 用于方阵的迭代算法 |
"ILU0" | 基于对未进行元素填充的原始矩阵不完全 LU 分解的预条件子 | |
"ILUT" | ILU0 的变体,进行元素填充 | |
"ILUTP" | ILUT 的变体,进行列置换 |
"FillIn" | 允许由 ILUT 预条件子引入的行中出现非零元素个数的上限 | |
"PermutationTolerance" | 什么时候进行列置换 | |
"Tolerance" | 调降公差(视幅值小于该设定值的元素为零) |
应用 (11)
生成空间和线性独立 (3)
求解方程和可逆性 (6)
有 LinearSolve 求解:
用 NullSpace 证明解是唯一的:
用 SolveValues 验证结果:
LinearSolve 给出特解:
NullSpace 给出齐次方程 解的基:
用 Inverse 验证结果:
用 Det 确认结果:
用 Inverse 验证结果:
通过计算 LinearSolveFunction 解方程组 ,其中 取不同的值:
结果几乎相同,尽管 LinearSolveFunction 快很多倍:
微积分 (2)
属性和关系 (9)
对于可逆矩阵 ,LinearSolve[m,b] 给出相应方程组的解与 SolveValues 的相同:
确认 SolveValues 给出同样的结果:
对于齐次方程 ,LinearSolve 总是返回平凡解 :
如果 是奇异矩阵,用 NullSpace 获取完整的解集:
与 SolveValues 的结果相比较:
如果 是非奇异矩阵,当 是单位矩阵时, 的解 是 的逆矩阵:
用 LeastSquares 最小化 :
如果 可解,则 LeastSquares 等价于 LinearSolve:
对于方阵,如果 b 是通用的,当且仅当 Det[m]!=0 时 LinearSolve[m,b] 才有解:
对于方阵,如果 b 是通用的,当且仅当 m 是满秩矩阵时 LinearSolve[m,b] 才有解:
对于方阵,如果 b 是通用的,当且仅当 m 有逆矩阵时 LinearSolve[m,b] 才有解:
对于方阵,如果 b 是通用的,当且仅当 m 有平凡零空间时 LinearSolve[m,b] 才有解:
可能存在的问题 (3)
文本
Wolfram Research (1988),LinearSolve,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LinearSolve.html (更新于 2024 年).
CMS
Wolfram 语言. 1988. "LinearSolve." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/LinearSolve.html.
APA
Wolfram 语言. (1988). LinearSolve. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/LinearSolve.html 年