当前位置: 首页 > news >正文

数学基础 -- 线性代数之正交矩阵

正交矩阵

正交矩阵是线性代数中的一个重要概念,具有许多优良的性质,在数值计算、线性变换、信号处理等领域有着广泛的应用。

1. 正交矩阵的定义

一个 n × n n \times n n×n 的方阵 Q Q Q 如果满足以下条件:

Q T Q = Q Q T = I Q^T Q = Q Q^T = I QTQ=QQT=I

其中, Q T Q^T QT 是矩阵 Q Q Q 的转置矩阵, I I I n × n n \times n n×n 的单位矩阵,则称矩阵 Q Q Q 是正交矩阵。

换句话说,正交矩阵的行向量(或列向量)是标准正交基,即:

  • 各行向量(或列向量)的长度为1(标准化)。
  • 不同行向量(或列向量)之间是两两正交的,即它们的内积为零。

2. 正交矩阵的性质

2.1 保持内积和长度

正交矩阵在进行线性变换时,不改变向量的内积和长度。即向量 v \mathbf{v} v 通过正交矩阵 Q Q Q 变换后,变换后的向量 Q v Q\mathbf{v} Qv 的长度与原向量相同。

2.2 逆矩阵等于转置矩阵

正交矩阵的逆矩阵与它的转置矩阵相同,即:

Q − 1 = Q T Q^{-1} = Q^T Q1=QT

2.3 保持正交性

正交矩阵乘以另一个正交矩阵,结果仍然是正交矩阵。如果 Q 1 Q_1 Q1 Q 2 Q_2 Q2 都是正交矩阵,那么 Q 1 Q 2 Q_1 Q_2 Q1Q2 也是正交矩阵。

2.4 行列式的绝对值为1

正交矩阵的行列式为 ± 1 \pm 1 ±1

∣ det ( Q ) ∣ = 1 |\text{det}(Q)| = 1 det(Q)=1

3. 正交矩阵的应用

3.1 旋转与反射变换

在几何中,正交矩阵常用于表示旋转和反射变换。例如,在二维空间中,一个旋转矩阵可以表示为:

Q = ( cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ) Q = \begin{pmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{pmatrix} Q=(cosθsinθsinθcosθ)

3.2 QR分解

正交矩阵在QR分解中扮演重要角色。QR分解将矩阵 A A A 分解为一个正交矩阵 Q Q Q 和一个上三角矩阵 R R R 的乘积,即 A = Q R A = QR A=QR

3.3 信号处理与数据压缩

在信号处理和数据压缩中,正交矩阵用于构造正交基,比如傅里叶变换矩阵和小波变换矩阵。


正交矩阵的例子

例子1:二维旋转矩阵

考虑一个二维旋转矩阵,它表示在平面上旋转一个向量的变换。假设旋转角度为 θ \theta θ,则旋转矩阵可以表示为:

Q = ( cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ) Q = \begin{pmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{pmatrix} Q=(cosθsinθsinθcosθ)

正交性验证

我们验证这个矩阵是否为正交矩阵。正交矩阵的定义要求 Q T Q = I Q^T Q = I QTQ=I,我们计算 Q T Q^T QT Q T Q Q^T Q QTQ

首先,求 Q Q Q 的转置矩阵 Q T Q^T QT

Q T = ( cos ⁡ θ sin ⁡ θ − sin ⁡ θ cos ⁡ θ ) Q^T = \begin{pmatrix} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end{pmatrix} QT=(cosθsinθsinθcosθ)

接下来,计算 Q T Q Q^T Q QTQ

Q T Q = ( cos ⁡ 2 θ + sin ⁡ 2 θ 0 0 cos ⁡ 2 θ + sin ⁡ 2 θ ) = ( 1 0 0 1 ) = I Q^T Q = \begin{pmatrix} \cos^2 \theta + \sin^2 \theta & 0 \\ 0 & \cos^2 \theta + \sin^2 \theta \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = I QTQ=(cos2θ+sin2θ00cos2θ+sin2θ)=(1001)=I

因此, Q Q Q 是一个正交矩阵。

性质

  • 保持向量长度:向量经过矩阵 Q Q Q 的旋转变换后,长度不变。
  • 逆矩阵为转置矩阵:由于 Q T Q = I Q^T Q = I QTQ=I,我们有 Q − 1 = Q T Q^{-1} = Q^T Q1=QT

例子2:三维反射矩阵

考虑一个三维反射矩阵,它表示相对于某一平面的反射。假设我们要相对于 x x x- y y y 平面进行反射,则反射矩阵可以表示为:

Q = ( 1 0 0 0 1 0 0 0 − 1 ) Q = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & -1 \end{pmatrix} Q= 100010001

正交性验证

同样地,我们验证这个矩阵是否为正交矩阵。计算 Q T Q^T QT Q T Q Q^T Q QTQ

转置矩阵 Q T Q^T QT 为:

Q T = ( 1 0 0 0 1 0 0 0 − 1 ) Q^T = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & -1 \end{pmatrix} QT= 100010001

计算 Q T Q Q^T Q QTQ

Q T Q = ( 1 0 0 0 1 0 0 0 1 ) = I Q^T Q = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} = I QTQ= 100010001 =I

因此, Q Q Q 是一个正交矩阵。

性质

  • 保持向量长度:向量经过矩阵 Q Q Q 的反射变换后,长度不变。
  • 逆矩阵为转置矩阵 Q − 1 = Q T Q^{-1} = Q^T Q1=QT

QR分解的例子

例子:QR分解

我们选择一个简单的 2 × 2 2 \times 2 2×2 矩阵 A A A 进行QR分解。假设矩阵 A A A 为:

A = ( 1 1 1 − 1 ) A = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} A=(1111)

步骤 1:构造矩阵 Q Q Q

通过 Gram-Schmidt 正交化过程构造正交矩阵 Q Q Q

  1. 取矩阵 A A A 的第一列 a 1 \mathbf{a}_1 a1 作为向量 u 1 \mathbf{u}_1 u1

    u 1 = ( 1 1 ) \mathbf{u}_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix} u1=(11)

    归一化 u 1 \mathbf{u}_1 u1 得到 q 1 \mathbf{q}_1 q1

    q 1 = u 1 ∥ u 1 ∥ = 1 2 ( 1 1 ) = ( 1 2 1 2 ) \mathbf{q}_1 = \frac{\mathbf{u}_1}{\|\mathbf{u}_1\|} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \end{pmatrix} = \begin{pmatrix} \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} \end{pmatrix} q1=u1u1=2 1(11)=(2 12 1)

  2. 计算矩阵 A A A 的第二列 a 2 \mathbf{a}_2 a2 q 1 \mathbf{q}_1 q1 上的投影,并减去这部分,得到 u 2 \mathbf{u}_2 u2

    u 2 = a 2 − ( q 1 T a 2 ) q 1 = ( 1 − 1 ) \mathbf{u}_2 = \mathbf{a}_2 - (\mathbf{q}_1^T \mathbf{a}_2) \mathbf{q}_1 = \begin{pmatrix} 1 \\ -1 \end{pmatrix} u2=a2(q1Ta2)q1=(11)

    归一化 u 2 \mathbf{u}_2 u2 得到 q 2 \mathbf{q}_2 q2

    q 2 = u 2 ∥ u 2 ∥ = 1 2 ( 1 − 1 ) = ( 1 2 − 1 2 ) \mathbf{q}_2 = \frac{\mathbf{u}_2}{\|\mathbf{u}_2\|} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ -1 \end{pmatrix} = \begin{pmatrix} \frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} \end{pmatrix} q2=u2u2=2 1(11)=(2 12 1)

最终得到正交矩阵 Q Q Q 为:

Q = ( 1 2 1 2 1 2 − 1 2 ) Q = \begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix} Q=(2 12 12 12 1)

步骤 2:计算矩阵 R R R

矩阵 R R R 是通过计算 Q T A Q^T A QTA 得到的:

R = Q T A = ( 2 0 0 2 ) R = Q^T A = \begin{pmatrix} \sqrt{2} & 0 \\ 0 & \sqrt{2} \end{pmatrix} R=QTA=(2 002 )

最终结果

通过QR分解,我们将矩阵 A A A 分解为正交矩阵 Q Q Q 和上三角矩阵 R R R 的乘积:

A = Q R = ( 1 2 1 2 1 2 − 1 2 ) ( 2 0 0 2 ) = ( 1 1 1 − 1 ) A = QR = \begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix} \begin{pmatrix} \sqrt{2} & 0 \\ 0 & \sqrt{2} \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} A=QR=(2 12 12 12 1)(2 002 )=(1111)

验证分解结果正确,QR分解成功。

相关文章:

数学基础 -- 线性代数之正交矩阵

正交矩阵 正交矩阵是线性代数中的一个重要概念,具有许多优良的性质,在数值计算、线性变换、信号处理等领域有着广泛的应用。 1. 正交矩阵的定义 一个 n n n \times n nn 的方阵 Q Q Q 如果满足以下条件: Q T Q Q Q T I Q^T Q Q Q^T …...

PostgreSQL 17即将发布,新功能Top 3

按照计划,PostgreSQL 17 即将在 2024 年 9 月 26 日发布,目前已经发布了第一个 RC 版本,新版本的功能增强可以参考 Release Notes。 本文给大家分享其中 3 个重大的新增功能。 MERGE 语句增强 MERGE 语句是 PostgreSQL 15 增加的一个新功能…...

心觉:别再做单线程的打工人!换个思路突破

Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松搞定人生挑战,实现心中梦想! 挑战日更写作161/1000(完整记录在下面) 公门洞开纳百川 众心逐梦越千山 号召引领潜力绽 心觉潜意识无间 想让财富翻个2倍…...

深度学习-用神经网络NN实现足球大小球数据分析软件

文章目录 前言一、 数据收集1.1特征数据收集代码实例 二、数据预处理清洗数据特征工程: 三、特征提取四、模型构建五、模型训练与评估总结 前言 预测足球比赛走地大小球(即比赛过程中进球总数是否超过某个预设值)的深度学习模型是一个复杂但有…...

linux 9系统分区扩容

1.可以看到我的是9.2的系统,系统分区:/dev/mapper/rl-root 83G 8.0G 75G 10% / 2.接下来,我们新增一块新的硬盘,而不是直接对这个硬盘的基础上再扩容。 关机,加30G硬盘,再开机 fdisk -l fdisk /dev/…...

Solidity初体验

一、概念知识 什么是智能合约? 智能合约是仅在满足特定条件时才在区块链上部署和执行的功能,无需任何第三方参与。 由于智能合约本质上是不可变的和分布式的,因此它们在编写和部署后无法修改或更新。此外,分布式的意义在于任何…...

大模型笔记01--基于ollama和open-webui快速部署chatgpt

大模型笔记01--基于ollama和open-webui快速部署chatgpt 介绍部署&测试安装ollama运行open-webui测试 注意事项说明 介绍 近年来AI大模型得到快速发展,各种大模型如雨后春笋一样涌出,逐步融入各行各业。与之相关的各类开源大模型系统工具也得到了快速…...

html前段小知识点

1. 什么是HTML? 超文本标记语言是一种 用于创建网页的标准标记语言 HTML 文档包含了HTML 标签及文本内容 也叫文档1.什么是css? CSS (层叠样式表),是一种用来为结构化文档添加样式的计算机语言,CSS 文件扩展名为 .css。 可以设…...

AD7606工作原理以及FPGA控制验证(串行和并行模式)

文章目录 一、AD7606介绍二、AD7606采集原理2.1 AD7606功能框图2.2 AD7606管脚说明 三、AD7606并行模式时序分析以及实现3.1 并行模式时序图3.2 并行模式时序要求3.3 代码编写3.4 仿真观察 四、AD7606串行模式时序分析以及实现4.1 串行模式时序图4.2 串行模式时序要求4.3 代码编…...

如何查看Pod的Container资源占用情况

云原生学习路线导航页(持续更新中) 方法一:直接查看pod的资源占用 kubectl top pods ${pod-name} -n ${ns} 方法二:通过运行的进程,查看pod的某个容器资源占用 1.找到pod所在node容器号:kubectl descri…...

WordPress上可以内容替换的插件

插件下载地址:WordPress内容替换插件 – 果果开发 类型 替换的类型:文章、自定义文章类型、分类、标签、媒体库、页面、评论、数据库表,不同的类型可以替换不同的字段。 替换字段 替换的字段,哪些字段内容需要替换。除了数据库…...

C++ | Leetcode C++题解之第355题设计推特

题目&#xff1a; 题解&#xff1a; class Twitter {struct Node {// 哈希表存储关注人的 Idunordered_set<int> followee;// 用链表存储 tweetIdlist<int> tweet;};// getNewsFeed 检索的推文的上限以及 tweetId 的时间戳int recentMax, time;// tweetId 对应发送…...

构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类

深度学习实践&#xff1a;构建并训练卷积神经网络&#xff08;CNN&#xff09;对CIFAR-10数据集进行分类 引言 在计算机视觉领域中&#xff0c;CIFAR-10数据集是一个经典的基准数据集&#xff0c;广泛用于图像分类任务。本文将介绍如何使用PyTorch框架构建一个简单的卷积神经…...

flowable 根据xml 字符串生成流程图

//获取xml InputStream stream repositoryService.getProcessModel(processDefinitionId); String result IOUtils.toString(stream, StandardCharsets.UTF_8); // 创建 XMLInputFactory XMLInputFactory factory XMLInputFactory.newInstance(); // 从字符…...

AI建模——AI生成3D内容算法产品介绍与模型免费下载

说明&#xff1a; 记录AI文生3D模型、图生3D模型的相关产品&#xff1b;记录其性能、功能、收费与免费方法 0.AI建模产品 Rodin MeshAnything Meshy 生成效果比较&#xff1a; Rodin效果最好、Meshy其次 1.Rodin 官网&#xff1a;gHyperHuman 支持&#xff1a;文生模型、…...

在Go中迅速使用RabbitMQ

文章目录 1 认识1.1 MQ分类1.2 安装1.3 基本流程 2 [Work模型](https://www.rabbitmq.com/tutorials/tutorial-two-go#preparation)3 交换机3.1 fanout3.2 direct3.3 [topic](https://www.rabbitmq.com/tutorials/tutorial-five-go) 4 Golang创建交换机/队列/Publish/Consume/B…...

Windows JDK安装详细教程

一、关于JDK 1.1 简介 Java是一种广泛使用的计算机编程语言&#xff0c;拥有跨平台、面向对象、泛型编程的特性&#xff0c;广泛应用于企业级Web应用开发和移动应用开发。 JDK&#xff08;Java Development Kit&#xff09;是用于开发 Java 应用程序的工具包。它由以下几个主要…...

Ribbon负载均衡底层原理

springcloude服务实例与服务实例之间发送请求&#xff0c;首先根据服务名注册到nacos&#xff0c;然后发送请求&#xff0c;nacos可以根据服务名找到对应的服务实例。 SpringCloudRibbon的底层采用了一个拦截器&#xff0c;拦截了openfeign发出的请求&#xff0c;对地址做了修…...

【C语言可变参数函数的使用与原理分析】

文章目录 1 前言2 实例2.1实例程序2.2程序执行结果2.3 程序分析 3 补充4 总结 1 前言 在编程过程中&#xff0c;有时会遇到需要定义参数数量不固定的函数的情况。 C语言提供了一种灵活的解决方案&#xff1a;变参函数。这种函数能够根据实际调用时的需求&#xff0c;接受任意…...

【笔记】Java EE应用开发环境配置(JDK+Maven+Tomcat+MySQL+IDEA)

一、安装JDK17 1.下载JDK17 https://download.oracle.com/java/17/archive/jdk-17.0.7_windows-x64_bin.zip 2.配置环境变量 下载后&#xff0c;解压到本地&#xff08;目录中最好不要有中文或特殊字符&#xff09; 打开【控制面板】-【系统和安全】-【系统】-【高级系统…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中&#xff0c;featureAbility是旧版FA模型&#xff08;Feature Ability&#xff09;的用法&#xff0c;Stage模型已采用全新的应用架构&#xff0c;推荐使用组件化的上下文获取方式&#xff0c;而非依赖featureAbility。 FA大概是API7之…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)

引言 在嵌入式系统中&#xff0c;用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例&#xff0c;介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单&#xff0c;执行相应操作&#xff0c;并提供平滑的滚动动画效果。 本文设计了一个…...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...

Python爬虫实战:研究Restkit库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的有价值数据。如何高效地采集这些数据并将其应用于实际业务中,成为了许多企业和开发者关注的焦点。网络爬虫技术作为一种自动化的数据采集工具,可以帮助我们从网页中提取所需的信息。而 RESTful API …...

CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx

“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网&#xff08;IIoT&#xff09;场景中&#xff0c;结合 DDS&#xff08;Data Distribution Service&#xff09; 和 Rx&#xff08;Reactive Extensions&#xff09; 技术&#xff0c;实现 …...