
矩阵论
文章平均质量分 81
程序员AlbertTu
唯有算法,得以永恒
展开
-
C++实现矩阵类(附代码和功能)
本文由两部分组成,第一部分介绍一个在win10系统上运行的exe程序,第二部分介绍通过C++实现矩阵运算的方法(功能会更强大,但不如exe文件操作方便)。 用户界面如下,能够实现矩阵的加、减、乘、除运算,以及矩阵的转置,求逆,求行列式的值等。 读者可以在下载该程序,直接在自己的电脑上运行。下载地址:https://download.youkuaiyun.com/do...原创 2018-10-11 21:14:03 · 70513 阅读 · 26 评论 -
证明旋转矩阵是正交矩阵
要用数学推导证明三维旋转矩阵是正交矩阵,我们需要从旋转矩阵的定义出发,并利用正交矩阵的性质进行推导。原创 2024-08-13 00:24:34 · 1202 阅读 · 0 评论 -
共轭梯度法(FR法)
优化算法的学习是有一定难度的(也许有人不这么想,但即使你是天赋异禀的天之骄子,敬畏知识也是一种美德)。笔者本着敬畏知识的态度,从基本理论出发,逐步引入优化算法的殿堂。 关于共轭梯度法理论的介绍,可以通过参考文献【1】了解 这里我通过一个例子来介绍共轭梯度法 (1) (2)...原创 2019-10-27 15:31:45 · 6346 阅读 · 0 评论 -
SVD奇异值分解(理论与C++实现)
目录前言前言 奇异值分解(singular value decomposition,以下简称SVD)是线性代数中一种重要的矩阵分解。SVD将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。SVD将矩阵AAA分解成三个矩阵的乘积A=UDVT A = UDV^{T}A=UDVT 设AAA是m×nm\times nm×n的矩阵,则UUU是一个m×mm\times mm×m的矩阵,DDD是一个m×nm\times nm×n的矩阵VVV是一个n×nn\time原创 2022-03-30 00:00:00 · 3341 阅读 · 1 评论 -
SVD应用于图像压缩 Python代码测试
前言 利用SVD是可以对图像进行压缩的,其核心原因在于,图像的像素之间具有高度的相关性。代码# -*- coding: utf-8 -*-'''author@cclplusdate:2019/11/3'''import cv2from PIL import Imageimport matplotlib as mplimport numpy as npimport matp...原创 2020-07-26 15:17:15 · 2490 阅读 · 0 评论 -
矩阵运算(一)最小二乘法
最小二乘法前言CPP开发者封装最小二乘法参考文献作者说前言 最小二乘法在函数拟合的过程中广为应用,不少读者使用笔者早期写的矩阵运算库,以求逆的方式得到拟合系数,这种算法虽然简单,但并不健壮;而使用QR分解(induced QR)得到的最小二乘法的结果,不论是在数据精度上的保证,还是算法时间复杂度上都得到了质的飞跃。CPP开发者封装最小二乘法 使用CPP封装最小二乘法的时候,笔者建议使用Eigen库//张九韶算法inline double polyeval(Eigen::VectorXd co原创 2020-05-10 22:37:22 · 6126 阅读 · 0 评论