当前位置: 首页 > 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; 打开【控制面板】-【系统和安全】-【系统】-【高级系统…...

CodeMagicianT奈

前面我们对 Kafka 的整体架构和一些关键的概念有了一个基本的认知&#xff0c;本文主要介绍 Kafka 的一些配置参数。掌握这些参数的作用对我们的运维和调优工作还是非常有帮助的。 写在前面 Kafka 作为一个成熟的事件流平台&#xff0c;有非常多的配置参数。详细的参数列表可以…...

代码之外周刊(第期):当技术让一切趋同,我们还剩什么?克

1. 前言 本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image&#xff0c;docker 版本为 20.10.7。 2. 构建 yum 离线源 2.1. 挂载 ISO 文件 mount Kylin-Server-V10-GFB-Release-030-ARM64.iso /media 2.2. 添加离线 repo 文件 在/etc/yum.repos.d/下创建kylin-local…...

避坑指南:天地图加载GeoJSON绘制省市区划时,你可能遇到的3个关键问题与解决方案

天地图加载GeoJSON绘制行政区划的三大核心难题与实战解决方案 当开发者尝试在天地图平台上叠加GeoJSON数据绘制行政区划时&#xff0c;往往会遇到一些意料之外的"坑"。这些问题不仅影响开发效率&#xff0c;更可能导致最终呈现效果与预期相差甚远。本文将聚焦三个最常…...

6000万吨产能承压 卫星化学迎来战略窗口期

据新华社报道&#xff0c;伊朗法尔斯通讯社7日凌晨援引未具名消息源报道&#xff0c;沙特阿拉伯东北部朱拜勒工业区当天发生爆炸&#xff0c;系遭到大范围打击。据悉&#xff0c;朱拜勒工业区是全球重要石化生产基地之一&#xff0c;年产量约6000万吨石化产品&#xff0c;占全球…...

告别环境冲突:在Anaconda中为PyTorch创建独立的Python 3.10 + CUDA 12.1虚拟环境

深度隔离&#xff1a;用Anaconda构建PyTorchCUDA开发环境的工程化实践 在深度学习项目开发中&#xff0c;环境管理往往是最容易被忽视却最关键的一环。想象一下这样的场景&#xff1a;你正在开发一个基于Transformer的NLP模型&#xff0c;突然需要切换到另一个使用不同CUDA版本…...

BLE 协议栈:HCI ISO 数据详解

BLE 协议栈&#xff1a;HCI ISO 数据详解前言一、定义1、HCI ISO 数据包&#xff08;ISO Data Packet&#xff09;二、ISO 数据包结构1、Host to Controller 格式2、Controller to Host 格式3、字节级格式表三、ISO Data Load 格式1、Host to Controller&#xff08;主机到控制…...

用Multisim复刻经典:手把手教你搭建一个60秒倒计时器(附74LS161+4511完整仿真文件)

用Multisim复刻经典&#xff1a;手把手教你搭建一个60秒倒计时器&#xff08;附74LS1614511完整仿真文件&#xff09; 在电子工程的学习过程中&#xff0c;没有什么比亲手搭建一个实用电路更能加深理解的了。今天&#xff0c;我们将一起用Multisim这款强大的电路仿真软件&#…...

抖音无水印下载器终极指南:免费批量保存视频、图集与直播回放

抖音无水印下载器终极指南&#xff1a;免费批量保存视频、图集与直播回放 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

解锁毕业论文新姿势:好写作AI,你的学术“超级外挂”!

在学术的江湖里&#xff0c;毕业论文就像是那终极BOSS&#xff0c;每个学子都得独自面对&#xff0c;挑战重重。选题迷茫、文献浩如烟海、写作卡壳……这些问题是不是让你头疼不已&#xff1f;别怕&#xff0c;今天咱们就来揭秘一个学术界的“超级外挂”——好写作AI&#xff0…...

归并排序力扣题(leetcode)何

1.概述在人工智能快速发展的今天&#xff0c;AI不再仅仅是回答问题的聊天机器人&#xff0c;而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理&#xff0c;能够在用户的机器上安全高效地生成高质量的软件变…...