Skip to content

Matrix_Hub v1.52

Latest
Compare
Choose a tag to compare
@Amoiensis Amoiensis released this 21 Aug 10:18
· 2 commits to master since this release

Matrix_Hub

矩阵运算库--C语言 The lib of Matrix operation for C language.

Author: Amoiensis (Xiping.Yu)
Email: [email protected]
Data: 2020.02.12~2023.08.21


[更新说明]

[Matrix Hub v1.52] 2023.08.21

  1. 新增函数, 详情见下表 M_SVD: SVD分解/ M_pinv:矩阵伪逆/ M_Sample:矩阵采样 ;
操作 Func Name Operation (detailed)
矩阵SVD分解 M_SVD SVD Decomposition. (create).
伪逆 M_pinv left and right inverses / pseudo-inverse of Matrix. (create).
从矩阵中抽取/采样特定的行/列. M_Sample Sample some row/col from Matrix. (create).

[Note.] 目前 M_pinv , 支持 左/右逆直接计算、SVD分解计算伪逆;

  1. 新增 Matrix_Hub 插件部分 “solver_plugin”.

    i. 已添加 LP (线性规划) 求解器, 基于 Simplex-Method (单纯形法), 后续将考虑添加 简易MIP 和 部分其他优化算法.

    ii. 欢迎关注和使用本项目的同学, 分享和贡献 在您使用场景中的插件功能.

    iii. 其他一些具体优化的应用 可以查看 Github/Amoiensis: Optimization-Algorithm.

    iv. [Note.] 矩阵的基础功能 和 插件部分 是解耦的, 如果在您的项目中不需要使用 插件部分, 不引入插件部分即可.

  2. 非常感谢 645770225同学, wtyhainan同学 对于 特征值计算/householder变换, 相关函数的BUG提出和修改建议.

    已经在版本 Matrix_Hub_v1.52 中得到修正, 具体问题请查看 [ISSUE-8]/ [ISSUE-9]/ [ISSUE-10]/ [ISSUE-11].

  3. 在版本 Matrix_Hub_v1.52 中, 考虑部分嵌入式设备的需要, 使用 memcpy/memset 实现赋值操作较多的函数, 替换原先逐个赋值的操作.

    值得注意的是:

    i. 在一定情况下, 编译器会对逐一赋值进行优化;

    ii. 因为矩阵是行优先结构存储在内存中, 对于特定场景, 该修改不一定能效改善性能;

    iii. 如果有需求也可以将 "memcpy/memset" 修改回"逐个赋值", 该部分作为注释已在源码中, 您可以在 "matrix.h" 中修改即可.