文章目录

  • 写在前面
  • 完全正交分解
  • 完全正交分解相关函数
    • 完全正交分解
    • 计算带正则的最小二乘解
    • 解包
    • 计算 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(R11​0​00​)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,其对应的最小二乘解 (min⁡x∥Ax−b∥\min_x\|Ax-b\|minx​∥Ax−b∥) 不唯一,如果进一步加上条件 min⁡x∥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−1​c1​0​)
其中 c1c_1c1​ 是 QTbQ^TbQTb 的前 rrr 个元素

以吉洪诺夫 (Tikhonov) 正则化的形式表述下列问题
min⁡x(∥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(y1​0​)
其中 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​=(c1​0​)
该方程可以用 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);

计算带正则的最小二乘解

min⁡x(∥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);

min⁡x(∥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 — 完全正交分解相关推荐

  1. GSL 系列 6 — 线性代数 4 — LQ 分解

    文章目录 0 写在前面 1 LQ 分解相关函数 1.1 LQ 分解 1.2 LQ 解包 1.2 求解线性方程组 1.3 其他 参考 0 写在前面 关于 LQ 分解的背景知识介绍,参见:GSL 系列 6 ...

  2. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(20):用配方法化二次型为标准形

    目录 前言 往期文章 5.6 用配方法化二次型为标准形 题目一 题目二 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ ...

  3. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(10):向量组及其线性组合

    文章目录 前言 往期文章 4.1 向量组及其线性组合 定义1 定义2 定理1 定义3 定理2 推论 举例 例 1 例2 定理3 小结 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文 ...

  4. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(21):正定二次型

    目录 前言 往期文章 5.7 正定二次型 定理9:惯性定理 定义10 定理10 推论 定理11:赫尔维茨定理 举例 例17 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的 ...

  5. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(26):线性变换的矩阵表达式

    目录 前言 往期文章 6.5 线性变换的矩阵表达式 定义6 定理2 定义7 举例 例11 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ...

  6. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(19):二次型及其标准形

    目录 前言 往期文章 5.5 二次型及其标准形 定义8:二次型 定义9:合同 定理8 推论 举例 例14 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- ...

  7. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(8):矩阵的初等变换

    文章目录 前言 往期文章 3.1 矩阵的初等变换 定义 等价具有的性质 矩阵类型 性质 性质1 性质2 定理1 推论 补充 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的 ...

  8. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(11):向量组的线性相关性

    文章目录 前言 往期文章 4.2 向量组的线性相关性 定义4 线性相关/无关 特殊情况 定理4 举例 例4 例5 例6 定理5 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错 ...

  9. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(23):维数、基与坐标

    目录 前言 往期文章 6.2 维数.基与坐标 定义2 定义3 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 ...

最新文章

  1. 杨学海:跨境电商新通道-进口保税直邮模式解析
  2. 2017c语言考核册答案,2017年最新C语言考题带答案
  3. 请问为什么像cellspacing=0和bgcolor=red的属性在style里面不起作用呢?
  4. iis8.5 php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
  5. item 24: 区分右值引用和universal引用
  6. 动手动脑-Java重载
  7. Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项
  8. c ++明明的随机数_从列表C ++程序中随机建议电影
  9. unique去除重复的向量_R语言向量与因子
  10. 车辆动力学及控制_传统汽车的稳定性控制系统主要通过各个车轮制动进行短暂动作...
  11. 北京致芯科技STM32F107VC 芯片解密 代烧录
  12. 我们学校有一个计算机室英文,深圳朗文版小学二年级下册Unit 2 At school练习题...
  13. 北京地区2009年春运火车票购买指南(V2.5)
  14. php融云开源sdk使用im,开源项目索引
  15. 自定义linux桌面,教您6个自定义Ubuntu桌面的步骤
  16. 五位一体信息化管理平台:提升化工企业安全信息化、网格化和数字化监管能力
  17. 多包管理工具Lerna(莱尔纳)
  18. 33岁跨专业考计算机研究生,盲目跨专业考研考上以后也不轻松
  19. max31865模块 PT100测温 PT1000测温 接线说明要点说明 使用说明 程序 单片机
  20. MySQL InnoDB配置统计信息

热门文章

  1. doubling algorithm 构建后缀数组 code
  2. (图文)SOIL2环境配置(OpenGL)
  3. 余数定理问题和余数类问题的解法
  4. Heroku搭建简单网站
  5. Addressing Function Approximation Error in Actor-Critic Methods
  6. 云教室和传统机房的区别在哪里?看完你就明白了
  7. 长尾式差分放大电路分析
  8. 品牌对比|罗曼 VS 欧乐B
  9. 【JS】Mock制作假数据
  10. BA-给排水-供水系统自动控制(转载)