线性代数中的正交和标准正交向量

在线性代数中,理解正交向量和正交向量至关重要,尤其是对于机器学习中的应用。这篇博文将简化这些概念,而不会太深入地深入研究复杂的数学。

正交向量

如果两个向量的点积等于零,则认为这两个向量是正交的。但点积到底是什么呢?两个 n 维向量 A 和 B 的点积(或标量积)可以表示如下:

复制代码
A · B = ∑ (from i=1 to n) a_i * b_i

因此,如果满足以下条件,向量 A 和 B 是正交的:

复制代码
A · B = 0

考虑 3D 空间中的两个向量:

( v_1 = 1, -2, 4

( v_2 = 2, 5, 2

为了检查它们是否正交,我们计算它们的点积:

复制代码
v_1 · v_2 = [1, -2, 4] · [2, 5, 2] = 1*2 + (-2)*5 + 4*2 = 0

由于结果为零,因此向量是正交的。

Python 代码示例

下面是一个简单的 Python 程序,它说明了正交向量:

复制代码
# A python program to illustrate orthogonal vector

# Import numpy module
import numpy

# Taking two vectors
v1 = [[1, -2, 4]]
v2 = [[2, 5, 2]]

# Transpose of v1
transposeOfV1 = numpy.transpose(v1)

# Matrix multiplication of both vectors
result = numpy.dot(v2, transposeOfV1)
print("Result =", result)

# Output
# Result = 0

单位向量

接下来,我们来讨论一下单位向量。单位向量是通过向量除以其大小从向量中得出的。对于向量 ( A ),单位向量 ( \hat{a} ) 定义为:

复制代码
\hat{a} = A / |A|

考虑 2D 空间中的向量 ( A ):

复制代码
( A = [3, 4] )
( A ) 的大小计算如下:

因此,单位向量 ( \hat{a} ) 为:

bash 复制代码
\hat{a} = A / |A| = [3/5, 4/5]

单位向量的属性

单位向量定义坐标系中的方向。

任何向量都可以表示为单位向量和标量大小的乘积。
正交向量

正交向量不仅是正交的,而且还具有单位大小。要将正交向量转换为正交向量,只需将每个向量除以其大小即可。

对于我们之前研究的向量:

对于 ( v_1 = 1, -2, 4 ):

bash 复制代码
v_1' = v_1 / |v_1| = [1, -2, 4] / √(1² + (-2)² + 4²)

对于 ( v_2 = 2, 5, 2 ):

bash 复制代码
v_2' = v_2 / |v_2| = [2, 5, 2] / √(2² + 5² + 2²)

通过将这些向量转换为单位向量,它们保持正交并达到单位大小,从而形成正交向量。

注意

所有正交向量本质上都是正交的,由其属性定义。

相关推荐
狂师5 小时前
阿里开源:skill-up,一款Agent Skill 评测工具!
人工智能·开源·agent
武子康5 小时前
同一套 Agent Runtime,为什么 Web、Headless 和 Python SDK 仍然不是同一个产品
人工智能·llm·agent
天天代码码天天5 小时前
一个纯 C 的 OCR Runtime,又向前走了一步:lw.PPOCR.C preview.5 发布
人工智能
程序员cxuan5 小时前
Claude 官方的学习教程,太强了。
人工智能·后端·程序员
小强闯江湖5 小时前
不只是让 AI 写代码:ViewCompose 把 Android UI 做成了可编译、可渲染的闭环
android·人工智能·kotlin
肆仲冬6 小时前
不用框架手写 AI Agent:ReAct 推理链和上下文管理的工程实践
人工智能
明月_清风6 小时前
发现一个超系统的 AI Agent 学习地图 —— Agent Atlas 推荐
人工智能·后端·agent
百度Geek说7 小时前
商业客户端Harness资产管理与应用实践
人工智能
MacroZheng7 小时前
同事问我:"Claude Code经常失忆,不怕它把项目搞炸?",我:"怕,三个Markdown文件给它装个永不丢失的外置大脑!"
java·人工智能·后端
小酒星小杜7 小时前
一个人,也能做出有人设、能追更、可商业化的漫画内容 IP
人工智能·产品·设计