定义

Q为方阵且:
QTQ=I,QT=Q−1Q^{T} Q=I, Q^{T}=Q^{-1} QTQ=I,QT=Q−1
则Q为正交矩阵。
组成Q的向量有:
qiTqj={0i≠j(ortho) 1i=j(normal )q_{i}^{T} q_{j}=\left\{\begin{array}{cc} 0 & i \neq j & \text { (ortho) } \\ 1 & i=j & (\text { normal }) \end{array}\right. qiT​qj​={01​i​=ji=j​ (ortho) ( normal )​

求正交矩阵

Gram-Schmidt标准正交化过程是一种将一组向量转换成一组标准正交向量的方法。它基本上从标准化考虑的第一个向量开始,然后迭代地重写剩下的向量,用它们自己减去已经标准化的向量的乘积。例如,转换的列向量:
A=[121020231110]A=\left[\begin{array}{lll} 1 & 2 & 1 \\ 0 & 2 & 0 \\ 2 & 3 & 1 \\ 1 & 1 & 0 \end{array}\right] A=⎣⎢⎢⎡​1021​2231​1010​⎦⎥⎥⎤​
变成标准正交列向量:
A=[6626230223−13630066−26−23]A=\left[\begin{array}{ccc} \frac{\sqrt{6}}{6} & \frac{\sqrt{2}}{6} & \frac{2}{3} \\ 0 & \frac{2 \sqrt{2}}{3} & \frac{-1}{3} \\ \frac{\sqrt{6}}{3} & 0 & 0 \\ \frac{\sqrt{6}}{6} & \frac{-\sqrt{2}}{6} & \frac{-2}{3} \end{array}\right] A=⎣⎢⎢⎢⎡​66​​036​​66​​​62​​322​​06−2​​​32​3−1​03−2​​⎦⎥⎥⎥⎤​
首先标准化第一个列向量:
From v1→=[1,0,2,1]:Get u1→=[16,0,26,16].\begin{array}{l} \text{From } \overrightarrow{v_{1}}=[1,0,2,1]: \\ \text{Get }\overrightarrow{u_{1}}=\left[\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}\right] . \end{array} From v1​​=[1,0,2,1]:Get u1​​=[6​1​,0,6​2​,6​1​].​
之后算第二个列向量。
首先:
w2→=v2→−u1→⋅v2→∗u1→=[2,2,3,1]−[16,0,26,16]⋅[2,2,3,1]∗[16,0,26,16]=[2,2,3,1]−(96)∗[16,0,26,16]=[2,2,3,1]−[32,0,3,32]=[12,2,0,−12]\begin{array}{c} \overrightarrow{w_{2}}=\overrightarrow{v_{2}}-\overrightarrow{u_{1}} \cdot \overrightarrow{v_{2}} * \overrightarrow{u_{1}}=[2,2,3,1]-\left[\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}\right] \cdot[2,2,3,1] *\left[\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}\right] \\ =[2,2,3,1]-\left(\frac{9}{\sqrt{6}}\right) *\left[\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}\right] \\ =[2,2,3,1]-\left[\frac{3}{2}, 0,3, \frac{3}{2}\right] \\ =\left[\frac{1}{2}, 2,0, \frac{-1}{2}\right] \end{array} w2​​=v2​​−u1​​⋅v2​​∗u1​​=[2,2,3,1]−[6​1​,0,6​2​,6​1​]⋅[2,2,3,1]∗[6​1​,0,6​2​,6​1​]=[2,2,3,1]−(6​9​)∗[6​1​,0,6​2​,6​1​]=[2,2,3,1]−[23​,0,3,23​]=[21​,2,0,2−1​]​
标准化它:
u2→=[26,223,0,−26]\overrightarrow{u_{2}}=\left[\frac{\sqrt{2}}{6}, \frac{2 \sqrt{2}}{3}, 0, \frac{-\sqrt{2}}{6}\right] u2​​=[62​​,322​​,0,6−2​​]
之后用u1和u2一起算u3:
w3→=v2→−u1→⋅v3→∗u1→−u2→⋅v3→∗u2→=[49,−29,0,−49]\overrightarrow{w_{3}}=\overrightarrow{v_{2}}-\overrightarrow{u_{1}} \cdot \overrightarrow{v_{3}} * \overrightarrow{u_{1}}-\overrightarrow{u_{2}} \cdot \overrightarrow{v_{3}} * \overrightarrow{u_{2}}=\left[\frac{4}{9}, \frac{-2}{9}, 0, \frac{-4}{9}\right] w3​​=v2​​−u1​​⋅v3​​∗u1​​−u2​​⋅v3​​∗u2​​=[94​,9−2​,0,9−4​]
标准化它:
u3→=[23,−13,0,−23]\overrightarrow{u_{3}}=\left[\frac{2}{3}, \frac{-1}{3}, 0, \frac{-2}{3}\right] u3​​=[32​,3−1​,0,3−2​]
总得来说获得中级变量w的方法是:
wk→=vk→−∑i=1k−1ut→⋅vi→∗ut→\overrightarrow{w_{k}}=\overrightarrow{v_{k}}-\sum_{i=1}^{k-1} \overrightarrow{u_{t}} \cdot \overrightarrow{v_{i}} * \overrightarrow{u_{t}} wk​​=vk​​−i=1∑k−1​ut​​⋅vi​​∗ut​​
之后进行标准化。
参考svd

正交矩阵和一种简单基础的Gram-Schmidt斯密特正交化方法相关推荐

  1. ICCV2021 Oral SimROD:简单高效的数据增强!华为提出了一种简单的鲁棒目标检测自适应方法...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨小马 来源丨我爱计算机视觉 ▊ 写在前面 本文提出了一种简单有效的鲁棒目标检测无监督自适应方法( ...

  2. 『论文阅读』SIF:一种简单却难以打败的句子嵌入方法

      文献:A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SENTENCE EMBEDDINGS   在进行了词嵌入的研究后,我们往往会联想到这样一个问题:既然单词可以 ...

  3. 存量房贷利率,一种简单估算其自然年利率调整的方法。

    回溯 需要先看看上篇:python实现货币贷款分期计算(等额本金/等额本息) 1.摘要 2022年过去了,总所周知LPR被多次下调,目前有存量房贷的朋友,如果(普遍)设置的是根据自然年LPR动态调整利 ...

  4. 一种简单的关闭win10自动更新的方法

    win10自动更新是必要的,但是很多时候更新太过于频繁,有很多补丁也不是需要立即就安装的.可是win10却会强制更新,这样很影响我们的使用. 以下是我很少看到的在网上被提到的一种关闭方法,不涉及注册表 ...

  5. Java两种简单的获取页面源码的方法

    2019独角兽企业重金招聘Python工程师标准>>> package demo11;import java.io.IOException; import java.net.Malf ...

  6. php上传word并展示_这2种简单方法能将Word批量转换PDF

    目前PDF文档使用越来越多,但由于新建和编辑相对比较复杂,我们经常先用Word文档编辑好之后再转换成PDF格式,如果需要处理的文档较多,是否有快速批量处理的方法呢?下面介绍两种简单一键批量Word转P ...

  7. IDEA MAVEN项目打包成jar包的两种简单方式

    IDEA MAVEN项目打包成jar包的两种简单方式 准备了两个打包方法 1.IEDA自带打包方法 2.用Maven插件maven-shade-plugin打包 IDEA自带打包 适用于任何打包,稍微 ...

  8. 一种简单实用的全屏方法

    实现程序全屏幕显示的思路有很多种,最常见的一种就是: 1)利用Windows API提供的一个结构体WINDOWPLACEMENT来存储全屏显示前视图和主框架窗口在屏幕上的位置和显示信息.非客户区窗口 ...

  9. Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法(foreach/for)

    Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 目录 Unity 基础 之 实现枚举(enum/Enum)遍历的三种简单方法 一.简单介绍 二.实现原理 三.效果预览 四.实现 ...

最新文章

  1. HDU 6091 - Rikka with Match | 2017 Multi-University Training Contest 5
  2. 利用WampServer挂载MySQL数据库
  3. 导致大量kworker的原因_头上白发越长越多,原因有哪些?
  4. html弹窗确认取消公告代码,js 弹出确认与取消对话框的四种方法
  5. 【Python】编程笔记8
  6. LeetCode之Palindrome Number(回文数)
  7. java备忘录模式应用场景_Java描述设计模式(24):备忘录模式
  8. 学好python工资一般多少-学会Python后,月薪40k是什么水平?
  9. 计算机软件专业代码表,2019-04-09计算机软件适用国民经济行业代码表
  10. 安卓编程 Sqlite的入门编程
  11. vs2005项目的安装与布署
  12. systemd.timer定时任务
  13. mariadb-libs 被 mysql-community-libs-compat-8.0.26-1.el7.x86_64 取代
  14. AES加密 + Base64编码
  15. 如何把汉字生成拼音首字母
  16. Unity项目优化-Alpha通道分离
  17. “日不落”的大学数据库原理课程设计——机票预订信息系统
  18. Xposed 探索之Hook 驾考宝典
  19. haproxy MMM WordPress
  20. 机房环境监控系统机房守护者!

热门文章

  1. EOS系列 - EOSIO 跨链通信
  2. 云计算技术基础【2】
  3. 14、阿里云短信Demo演示、Http的Get请求和Post请求演示、httpClient工具类演示、发送短信模块搭建、搭建用户中心模块、完成user注册基本功能、验证码存入redis、短信验证码注册
  4. 灰流丽能无效融合么_【灰流丽】封印卡片一览
  5. 用普通io检测水箱是否有水电路
  6. 判断是否符合 USD 格式
  7. 概率论与数理统计-笔记
  8. 什么是机器视觉技术 ?
  9. 喜报丨京东科技主导的开源项目ShardingSphere荣登报告榜单国人主导开源项目中活跃度第五名!...
  10. Excel工具箱-方方格子使用案例(提取数据、正则表达式