GSL 系列 6 — 线性代数 5 — 完全正交分解
文章目录
- 写在前面
- 完全正交分解
- 完全正交分解相关函数
- 完全正交分解
- 计算带正则的最小二乘解
- 解包
- 计算 AZAZAZ
写在前面
若无特别说明,本篇代码均来自头文件 gsl_linalg.h
完全正交分解
完全正交分解可以看作是QR分解的推广,对于矩阵 AAA (M×NM\times NM×N),有如下分解:
AP=Q(R11000)ZTA P=Q\left(\begin{array}{cc}R_{11} & 0 \\ 0 & 0\end{array}\right) Z^{T}AP=Q(R11000)ZT
其中:
PPP:转置矩阵,N×NN\times NN×N
QQQ:正交矩阵,M×MM\times MM×M
R11R_{11}R11:上三角矩阵,r×r,r=rank(A)r\times r, r=rank(A)r×r,r=rank(A)
ZZZ:正交矩阵,N×NN\times NN×N
如果 AAA 满秩,R11=R,Z=IR_{11}=R,Z=IR11=R,Z=I,也就是带列转置的 QR 分解
对于不满秩 AAA,其对应的最小二乘解 (minx∥Ax−b∥\min_x\|Ax-b\|minx∥Ax−b∥) 不唯一,如果进一步加上条件 minx∥x∥\min_x\|x\|minx∥x∥,利用完备正交解,可以得到 xxx
x=PZ(R11−1c10)x=PZ\left(\begin{array}{c} R_{11}^{-1}c_1\\ 0\end{array}\right)x=PZ(R11−1c10)
其中 c1c_1c1 是 QTbQ^TbQTb 的前 rrr 个元素
以吉洪诺夫 (Tikhonov) 正则化的形式表述下列问题
minx(∥Ax−b∥2+λ2∥x∥2)\min_x(\|Ax-b\|^2+\lambda^2\|x\|^2)xmin(∥Ax−b∥2+λ2∥x∥2)
该问题的解为:
x=PZ(y10)x=PZ\left(\begin{array}{c} y_1\\ 0\end{array}\right)x=PZ(y10)
其中 y1y_1y1 长度为 rrr,可以根据下列方程求出:
(R11λIr)y1=(c10)\left(\begin{array}{c} R_{11}\\ \lambda I_r\end{array}\right)y_1=\left(\begin{array}{c} c_1\\ 0\end{array}\right)(R11λIr)y1=(c10)
该方程可以用 QR 分解方法求解
完全正交分解相关函数
完全正交分解
A=QRZPTA=QRZP^TA=QRZPT
Q,ZQ,ZQ,Z 一部分存在 A
中,另一部分存在 tau_Q
, tau_Z
中
R11R_{11}R11 存在 A
中,
rank
计算方式,参考:GSL 系列 6 — 线性代数 3 — QR 分解
work
为工作空间,长度为 NNN
int gsl_linalg_COD_decomp(gsl_matrix * A, gsl_vector * tau_Q, gsl_vector * tau_Z,gsl_permutation * p, size_t * rank, gsl_vector * work);
int gsl_linalg_COD_decomp_e(gsl_matrix * A, gsl_vector * tau_Q, gsl_vector * tau_Z,gsl_permutation * p, double tol, size_t * rank, gsl_vector * work);
计算带正则的最小二乘解
minx(∥Ax−b∥2+∥x∥2)\min_x(\|Ax-b\|^2+\|x\|^2)minx(∥Ax−b∥2+∥x∥2),当 AAA 满秩时,不考虑正则项
int gsl_linalg_COD_lssolve (const gsl_matrix * QRZT, const gsl_vector * tau_Q, const gsl_vector * tau_Z,const gsl_permutation * perm, const size_t rank, const gsl_vector * b,gsl_vector * x, gsl_vector * residual);
minx(∥Ax−b∥2+λ∥x∥2)\min_x(\|Ax-b\|^2+\lambda\|x\|^2)minx(∥Ax−b∥2+λ∥x∥2)
工作空间矩阵 S
维度为 rank x rank
,工作空间向量 work
维度为 rank
int
gsl_linalg_COD_lssolve2 (const double lambda, const gsl_matrix * QRZT, const gsl_vector * tau_Q, const gsl_vector * tau_Z,const gsl_permutation * perm, const size_t rank, const gsl_vector * b,gsl_vector * x, gsl_vector * residual, gsl_matrix * S, gsl_vector * work);
解包
int gsl_linalg_COD_unpack(const gsl_matrix * QRZT, const gsl_vector * tau_Q,const gsl_vector * tau_Z, const size_t rank, gsl_matrix * Q,gsl_matrix * R, gsl_matrix * Z);
计算 AZAZAZ
AAA 必须为 NNN 列,work
长度为 NNN
int gsl_linalg_COD_matZ(const gsl_matrix * QRZT, const gsl_vector * tau_Z, const size_t rank,gsl_matrix * A, gsl_vector * work);
GSL 系列 6 — 线性代数 5 — 完全正交分解相关推荐
- GSL 系列 6 — 线性代数 4 — LQ 分解
文章目录 0 写在前面 1 LQ 分解相关函数 1.1 LQ 分解 1.2 LQ 解包 1.2 求解线性方程组 1.3 其他 参考 0 写在前面 关于 LQ 分解的背景知识介绍,参见:GSL 系列 6 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(20):用配方法化二次型为标准形
目录 前言 往期文章 5.6 用配方法化二次型为标准形 题目一 题目二 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(10):向量组及其线性组合
文章目录 前言 往期文章 4.1 向量组及其线性组合 定义1 定义2 定理1 定义3 定理2 推论 举例 例 1 例2 定理3 小结 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(21):正定二次型
目录 前言 往期文章 5.7 正定二次型 定理9:惯性定理 定义10 定理10 推论 定理11:赫尔维茨定理 举例 例17 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(26):线性变换的矩阵表达式
目录 前言 往期文章 6.5 线性变换的矩阵表达式 定义6 定理2 定义7 举例 例11 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(19):二次型及其标准形
目录 前言 往期文章 5.5 二次型及其标准形 定义8:二次型 定义9:合同 定理8 推论 举例 例14 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(8):矩阵的初等变换
文章目录 前言 往期文章 3.1 矩阵的初等变换 定义 等价具有的性质 矩阵类型 性质 性质1 性质2 定理1 推论 补充 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(11):向量组的线性相关性
文章目录 前言 往期文章 4.2 向量组的线性相关性 定义4 线性相关/无关 特殊情况 定理4 举例 例4 例5 例6 定理5 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(23):维数、基与坐标
目录 前言 往期文章 6.2 维数.基与坐标 定义2 定义3 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 ...
最新文章
- 杨学海:跨境电商新通道-进口保税直邮模式解析
- 2017c语言考核册答案,2017年最新C语言考题带答案
- 请问为什么像cellspacing=0和bgcolor=red的属性在style里面不起作用呢?
- iis8.5 php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
- item 24: 区分右值引用和universal引用
- 动手动脑-Java重载
- Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项
- c ++明明的随机数_从列表C ++程序中随机建议电影
- unique去除重复的向量_R语言向量与因子
- 车辆动力学及控制_传统汽车的稳定性控制系统主要通过各个车轮制动进行短暂动作...
- 北京致芯科技STM32F107VC 芯片解密 代烧录
- 我们学校有一个计算机室英文,深圳朗文版小学二年级下册Unit 2 At school练习题...
- 北京地区2009年春运火车票购买指南(V2.5)
- php融云开源sdk使用im,开源项目索引
- 自定义linux桌面,教您6个自定义Ubuntu桌面的步骤
- 五位一体信息化管理平台:提升化工企业安全信息化、网格化和数字化监管能力
- 多包管理工具Lerna(莱尔纳)
- 33岁跨专业考计算机研究生,盲目跨专业考研考上以后也不轻松
- max31865模块 PT100测温 PT1000测温 接线说明要点说明 使用说明 程序 单片机
- MySQL InnoDB配置统计信息