的逆记为A?1,需满足
在 BLAS 的各种實现中一般都不会直接给出 matrix inverse 的直接实现,其实矩阵求逆(方阵)的逆是可以通过 gemm()
和gesvd()
操作得到
实值可逆方阵 A,其 SVD 分解如下:
-
V,U 均为正交矩陣求逆
-
- 因为 A 是可逆的,根据 SVD 的定义S 的对角元素均是正数;
版权声明:本文为博主原创文章技术分享,不求名利欢迎转载、完善、批评! /sandeepin/article/details/
Sandeepin最近做的项目中需要在嵌入式芯片里跑一些算法,而这些单片机性能不上不下它能跑些简单的程序,但又还没到上Linux系统的地步所以只好用C语言写一些在高级语言里一个函数就解决的算法了,由于算法需要运用矩阵求逆运算自己就先用纯C语言写了个简单的矩阵求逆运算库。
代码只实现了矩阵求逆最基本的运算包括矩阵求逆的加、减、乘、数乘、转置、行列式、逆矩阵求逆、代数余子式、伴随矩阵求逆等运算。此外增加了一些实用函数如显示矩阵求逆、从csv文件读取保存矩阵求逆等函数。具体的例子在主函数中体现其中还用自己这个矩阵求逆运算库做了一个简单的应用,利用公式β=(X'X)^(-1)X'Y来进行多元线性回归系数计算大家可以参考参考,欢迎批评
//矩阵求逆的基本运算:加、减、乘、数乘、转置、行列式、逆矩阵求逆、代数余子式、伴随矩阵求逆 //顯示矩阵求逆A、B、C //蒋方正矩阵求逆库应用:多元线性回归 // (det用)功能:求逆序对的个数 // (det用)功能:符号函数,正数返回1负数返回-1 // (det用)功能:交换兩整数a、b的值 // 功能:求矩阵求逆行列式的核心函数 // 形参:(输入)矩阵求逆首地址指针Mat,矩阵求逆行数row和列数col // 形参:(输入)矩阵求逆A首地址指針A,矩阵求逆B首地址指针B矩阵求逆A(也是矩阵求逆B)行数row和列数col // 形参:(输入)矩阵求逆A,矩阵求逆B矩阵求逆A(也是矩阵求逆B)行数row和列数col // 形参:(輸入)矩阵求逆A,矩阵求逆A行数row和列数col矩阵求逆B,矩阵求逆B行数row和列数col // 功能:矩阵求逆数乘(实数k乘以矩阵求逆A) // 形参:(输入)矩阵求逆A首地址指针矩阵求逆行数row和列数col,实数k // 形参:(输入)矩阵求逆A首地址指针A行数row和列数col // 功能:求行列式值 // 形参:(输入)矩阵求逆A首地址指针A,行数row // 返回:A的行列式值 // 形参:(输入)矩阵求逆A首地址指针A行数row和列数col // 功能:求代数余子式 // 形参:(输入)矩阵求逆A首地址指针A,矩阵求逆行数row, 元素a嘚下标mn(从0开始), // 返回:NxN 矩阵求逆中元素A(mn)的代数余子式 // 功能:求伴随矩阵求逆 // 形参:(输入)矩阵求逆A首地址指针A行数row和列数col // 返回:A的伴随矩阵求逆 // 读取文件每行数据数(逗号数+1) // 逗号间隔数据提取 //不是逗号,则是数据存入临时数组中 //是逗号或\n(最后一个数据),则数据转换为double保存到输出数组 // 功能:从csv文件读矩阵求逆,保存到指针中 // 形参:(输入)csv文件名预计行数row和列数col // 返回:矩阵求逆指针A // 功能:将矩阵求逆A存入csv文件中 // 形参:(输入)保存的csv文件名,矩阵求逆A首地址指针A行数row和列数col
的逆记为A?1,需满足
在 BLAS 的各种實现中一般都不会直接给出 matrix inverse 的直接实现,其实矩阵求逆(方阵)的逆是可以通过 gemm()
和gesvd()
操作得到
实值可逆方阵 A,其 SVD 分解如下:
V,U 均为正交矩陣求逆
在项目中使用fetch操作文件流因为沒有用到axios,而且fetch的使用方式和axios还有一定的区别所以写一篇博文,具体细致的描述下fetch的基本使用
Fetch API提供了一个 JavaScript 接口用于访问和操作HTTP管道的零件,如请求和响应
它还提供了一种全局fetch()方法,可以提供一种简单合理的方式在网络上异步获取资源
。
Fetch API的Body mixin表示响应/请求的主体,允许你声明一下它的内容类型以及它应该如何处理
Body是通过Request和Response來实现的。这为这些对象提供了一个关联的主体(一个流)一个使用的标志(最初未设置)和一个MIME类型(最初是空字节序列)。
正文文本为JSON
的结果这可以是任何可以由JSON表示的东西:对象、数组、字符串、数字
等等
确定跨域请求
是否导致有效的响应,并且其响应的哪些属性是可读的默认允许跨域cros
。
same-origin
:如果URL与调用脚本位于相同的源则发送用户凭证(cookie,基本http认证等)include
:始终发送用户凭据(cookie,基本http认证等)甚至用于跨源调用。
响应相关的属性参數和方法前面也有部分罗列,比较简单所以就不做搬运工了,附上目录和官方文档的地址:
Fetch API 的 Headers 接口允许对 HTTP 请求和響应头执行各种操作这些操作包括检索、设置、添加和删除。一个 Headers 对象有一个关联的标题列表它最初是空的,由零个或多个名称和值對组成您可以使用像 append() 这样的方法添加到此处(请参阅示例)。在此 Headers 接口的所有方法中标头名称均由不区分大小写的字节序列进行匹配。
出于安全原因某些标头只能由用户代理控制。这些标题包括禁止的标头名称和禁止的响应标头名称