Orthogonalize

Orthogonalize[{v1,v2,}]

对正交化向量 vi,给出标准正交基.

Orthogonalize[{e1,e2,},f]

给出通过关于内积函数 f 正交化元素 ei 得到的标准正交基.

更多信息和选项

  • Orthogonalize[{v1,v2,}] 用普通的标量积 作为内积.
  • Orthogonalize 的输出通常包括和输入相同数目的向量. 如果一些输入向量不是线性无关的,输出则包含零向量.
  • 输出的所有非零向量被归一化为单位向量.
  • 内积函数 f 被应用于 ei 的各种线性组合.
  • ei 可以为任意使 f 产生实数结果的表达式. »
  • Orthogonalize[{v1,v2,},Dot] 认为 vi 的所有元素是实数. »
  • Orthogonalize 默认生成一个 Gram-Schmidt(格莱姆-施密特)正交基.
  • Method 选项的设置可以获得其它类型的基. 可以选择的设置包括:"GramSchmidt""ModifiedGramSchmidt""Reorthogonalization""Householder".
  • Orthogonalize[list,Tolerance->t] 将相对范数小于 t 的元素设为零.

范例

打开所有单元关闭所有单元

基本范例  (3)

求两个三维向量跨度的标准正交基:

由三个三维向量构造一个正交基:

确认结果是正交的:

正交化包含符号项的向量:

范围  (13)

基本用法  (6)

正交化一组机器精度向量:

正交化复向量:

正交化精确向量:

正交化任意精度向量:

正交化符号向量:

假设 ab 为实值,简化结果:

高效处理大型数值矩阵:

特殊矩阵  (4)

正交化稀疏矩阵的行:

正交化结构化矩阵的行:

正交化对角矩阵将生成另一个对角矩阵:

正交化 HilbertMatrix

常见内积  (3)

假设所有变量都是实数,求符号正交基:

用显式内积正交化不是以列表形式给出的向量:

使用纯函数指定内积:

选项  (3)

Tolerance  (1)

如果小于容差,则不认为两个向量是线性独立的:

Method  (2)

m 形成一组几乎线性相关的向量:

使用默认方法的情况下,与标准正交性的差距:

所有方法下的差距:

对于大型数值矩阵,通常 Householder 方法是最快的:

应用  (12)

几何学  (3)

将向量 投影到跨越向量 的平面上:

构造一个与 跨越相同空间的正交基:

平面上的投影是在 上的投影之和:

求垂直于平面的分量:

通过将 投影到平面的法线上来确认结果:

可视化平面、向量及其平行和垂直分量:

弗勒内-塞雷系统将每个空间曲线的属性编码为向量基和标量函数. 考虑以下曲线:

使用 Orthogonalize 从前三个导数构造一个正交基:

确保基础是右手侧的:

计算曲率 和扭转 ,量化曲线如何弯曲:

验证使用 FrenetSerretSystem 的答案:

可视化曲线和相关的移动基,也称为标架(Frame):

求向量 在向量 所跨越的空间上的正交投影:

首先,为空间构造一个标准正交基:

空间中的分量由 sum_(i=1)^3 TemplateBox[{{(, {(, {e, _, i}, )}}}, Conjugate].v )e_i 给出:

之差垂直于 所跨越的任何向量:

最小二乘和曲线拟合  (3)

如果线性系统 无解,最好的近似解是最小二乘解. 这就是 的解,其中 的列空间上的正交投影. 考虑以下

线性系统是不一致的:

的列所跨越的空间的标准正交基:

计算 在由 跨越的空间上的正交投影

可视化 ,它在 上的投影

求解

使用 LeastSquares 确认结果:

Orthogonalize 可用于找到数据的最佳拟合曲线. 考虑以下数据:

从数据中提取 坐标:

具有列 ,因此最小化 TemplateBox[{{{m, ., {{, {a, ,, b}, }}}, -, y}}, Norm] 将拟合直线

获取线性最小二乘拟合的系数

使用 Fit 验证系数;

绘制最佳拟合曲线和数据:

求以下数据的最佳拟合抛物线:

从数据提取 坐标:

具有列 ,因此最小化 TemplateBox[{{{m, ., {{, {a, ,, b, ,, c}, }}}, -, y}}, Norm] 将拟合至

构造与 具有相同列空间的正交向量

获取最小二乘拟合的系数

使用 Fit 验证系数:

绘制最佳拟合曲线和数据:

矩阵分解  (2)

求以下矩阵 的列空间的正交基,然后使用该基找到 的 QR 分解:

将 GramSchmidt 应用于 的列,然后将 定义为其列是那些向量的矩阵:

R=TemplateBox[{Q}, Transpose].a

确认

QRDecomposition 给出的结果进行比较;与 矩阵是相同的:

矩阵因转置而不同,因为 QRDecomposition 给出了行正交结果:

对于埃尔米特矩阵(更一般地,任何正规矩阵),特征向量是正交的,并且通常定义投影矩阵 p_k=TemplateBox[{{{, {e, _, k}, }}}, Transpose].TemplateBox[{{{, {e, _, k}, }}}, Conjugate],其中 是归一化的特征向量. 证明投影矩阵对一般向量的作用与将向量投影到以下矩阵 的特征空间上的作用相同:

验证 是埃尔米特矩阵:

求特征值和特征向量:

都与 正交,因为它们来自不同的特征空间:

它们不需要也不会相互正交,因为它们具有相同的特征值:

使用 Orthogonalize 创建一个正交基:

计算投影矩阵:

确认将一般向量乘以 等于向量在 上的投影:

由于 形成一个标准正交基,因此 的和必须是单位矩阵:

此外, 之和是原始矩阵

通用内积和函数空间  (4)

正定实对称矩阵或度量 定义了由 的内积:

正定意味着相关的二次形 对于 为正:

注意 Dot 本身是与单位矩阵相关的内积:

TemplateBox[{}, Reals]^n 的标准基进行正交化以找到一个正交基:

确认这个基对于内积 是正交的:

傅立叶级数是在内积空间 中正交基上的投影. 定义平方可积函数的标准内积:

正交化在这个内积中 形式的函数:

等于对应于 FourierParameters{0,1} 的对称傅立叶系数:

使用 FourierCoefficient 确认:

傅立叶级数是 所跨越的空间上的投影:

使用 FourierSeries 确认结果:

LegendreP 定义关于内积 的正交多项式族. 将 从 0 到 4 的多项式 正交化,以计算前 5 个勒让德多项式的标量倍数:

与传统的勒让德多项式相比:

对于各个 TemplateBox[{k, x}, LegendreP] 相差 倍:

HermiteH 定义关于内积 <f,g>=int_(-infty)^inftyTemplateBox[{{ , f}}, Conjugate] g exp(-x^2)dx 的正交多项式族. 将未归一化的 GramSchmidt 过程应用于 从 0 到 4 的多项式 ,以计算前 5 个埃尔米特多项式的标量倍数:

与常规的埃尔米特多项式比较:

对于各个 TemplateBox[{k, x}, LegendreP] 相差一个常数倍:

属性和关系  (9)

对于线性独立向量,结果是一个正交集:

这延伸到任何内积:

对于 个线性无关的 向量,结果是一个酉矩阵:

如果是实值向量,则矩阵也是正交的:

如果输入向量不是线性独立的,则用零向量填充结果以达到匹配的长度:

如果 Orthogonalize[vecs] 的结果,则 u.TemplateBox[{u}, ConjugateTranspose] 是一个对角矩阵:

它的对角线上只有 1 和 0:

对角线上的零对应于结果中的零向量:

维空间内,标准正交基最多有 个元素:

多数随机的 维向量集由 个基向量扩展而成的:

使用默认方法的情况下,基的第一个元素通常是第一个向量的倍数:

Orthogonalize 可以通过重复应用 ProjectionNormalize 来实现:

Orthogonalize[m]QRDecomposition[Transpose[m]] 相关:

它们的正负号相同:

Wolfram Research (2007),Orthogonalize,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Orthogonalize.html.

文本

Wolfram Research (2007),Orthogonalize,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Orthogonalize.html.

CMS

Wolfram 语言. 2007. "Orthogonalize." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/Orthogonalize.html.

APA

Wolfram 语言. (2007). Orthogonalize. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Orthogonalize.html 年

BibTeX

@misc{reference.wolfram_2024_orthogonalize, author="Wolfram Research", title="{Orthogonalize}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/Orthogonalize.html}", note=[Accessed: 10-October-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_orthogonalize, organization={Wolfram Research}, title={Orthogonalize}, year={2007}, url={https://reference.wolfram.com/language/ref/Orthogonalize.html}, note=[Accessed: 10-October-2024 ]}