Skip to content

Releases: Amoiensis/Matrix_hub

Matrix_Hub v1.52

21 Aug 10:18
Compare
Choose a tag to compare

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" 中修改即可.

Matrix_Hub v1.51

28 May 13:50
Compare
Choose a tag to compare

Matrix_Hub

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

Author: Amoiensis
Email: [email protected]
Data: 2020.02.12~2022.05.28


[ 更新说明 Matrix Hub v1.51] 2022.05.28

  1. 新增函数, 详情见下表 M_eigen_max/ householder/ M_householder/ M_QR/ M_eigen_val;
操作 Func Name Operation (detailed)
矩阵最大特征值、特征向量 M_eigen_max The maximum eigenvalue/ eigen-vector of the Matrix (create).
向量householder变换, 返回变换矩阵H householder Householder transformation for the Vector, return Transformating-Matrix: H (create).
矩阵householder变换 M_householder Householder transformation for the Matrix, return Transformated-Matrix: H_Mat (create).
矩阵QR分解 M_QR QR Decomposition (create).
矩阵特征值 M_eigen_val The eigenvalues of the Matrix (create).
矩阵特征值, 及其对应特征向量(矩阵) M_eigen The eigenvalues and eigen-vectors of the Matrix (create).
  1. 新增 运算过程的"显示详细等级"(The Level of Details of Output).

    位置: _DETAILED_ (state.h)

    档位: 0/1/2/3 四等级: 0->3 逐渐详细 ( 默认设置为 2级)

    level - 显示详情的函数

    0 - M_print (除设定的输出外,不额外显示其他计算细节信息)

    1 - M_Uptri_/ M_Lowtri_/ M_Diatri_ ;

    2 - M_full/ M_Inverse/ M_eigen_val/ M_rank / M_Uptri_/ M_Lowtri_/ M_Diatri_/ M_print ;

    3 - M_free/ M_mul/ M_full/ M_Inverse/ M_rank/ M_mul / M_Uptri_/ M_Lowtri_/ M_Diatri_/ M_print ;

  2. 解决求逆运算中存在的问题(感谢@1u2e): 结构体释放问题、一维矩阵求逆;
    详见:#4

  3. 本版本已完成内存测试,目前测试后暂无内存泄漏问题;

  4. 更新"README", 参考"功能表"中 OPERATION 列, 如返回值为新开辟空间则标记有 "create", 用于提供内存管理的参考,
    具体请参考对应 OPERATION 说明 help("README").

  5. 自Matrix_Hub v1.51 起, 可以使用 help("MatrixHub") 查看当前版本号.

Matrix_Hub v1.50

29 Apr 14:24
Compare
Choose a tag to compare

Matrix_Hub

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

Author: Amoiensis
Email: [email protected]
Data: 2020.02.12~2022.04.29


[更新说明v1.5] 2022.04.29

  1. 新增函数, 矩阵求条件数 M_cond (matrix.h);

  2. 进一步克服 v1.44 内存问题, 完善内存管理, 可使用 help("Memory_Manager") 查看;

    注意:本次更新内存管理,内存问题大幅改善,已修复v1.4x内存问题。


更多资料和信息:
https://github.com/Amoiensis/Matrix_hub


具体应用例子:
Optimization-Algorithm(最优化算法):https://github.com/Amoiensis/Optimization-Algorithm

Matrix_Hub_v1.44

28 Apr 18:00
9e5bc4d
Compare
Choose a tag to compare

Matrix_Hub

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

Author: Amoiensis
Email: [email protected]
Data: 2020.02.12~2022.04.29


[Matrix Hub v1.44] 2022.04.28

  1. 新增函数 矩阵求秩: M_rank (matrix.h);

  2. 新增函数 Etrans_free, 实现 M_rank 初等变换内存释放; 详见 help("Etrans_free"), (matrix.h)

  3. 新增希尔伯特矩阵(病态矩阵)生成: Hilbert (matrix.h);

  4. 新增矩阵不可逆报错, Error: M_Dia_Inv_023: "@error: Matrix is not invertible!" (state.h);

  5. 已修复 v1.43 计算不稳定问题;

    注意:本次更新内存和计算速度都得到提高,已修复v1.43稳定性问题。


更多资料和信息:
https://github.com/Amoiensis/Matrix_hub


具体应用例子:
Optimization-Algorithm(最优化算法):https://github.com/Amoiensis/Optimization-Algorithm

Matrix_Hub_v1.43

26 Oct 15:57
03eced1
Compare
Choose a tag to compare

Matrix_Hub

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

Author: Amoiensis
Email: [email protected]
Data:2020.02.12


[更新说明 v1.43] 2021.10.26

  1. 更新矩阵求逆算法,所有基于求逆的运算速度提升,更新"M_Inverse"函数;

  2. 修复初等变换的内存问题,程序运行内存占用减少;

  3. 删除“Etrans_2_Inverse”函数;新增“Etrans_4_Inverse”函数,用于加速矩阵求逆;

  4. 更新“M_Uptri_4inv”、“M_Lowtri_4inv”用于加速矩阵求逆;

    注意:推荐更新到最新的Matrix Hub v1.43代替v1.42及之前版本,本次更新内存和计算速度都得到提高;


更多资料和信息:
https://github.com/Amoiensis/Matrix_hub


具体应用例子:
Optimization-Algorithm(最优化算法):https://github.com/Amoiensis/Optimization-Algorithm

Matrix_Hub_v1.42_source_code

06 Aug 09:13
Compare
Choose a tag to compare

Matrix_Hub

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

Author: Amoiensis
Email: [email protected]
Data:2020.02.12


[更新说明v1.42] 2021.08.06

  1. 新增求解矩阵最大特征值函数:M_eigen_max(),可使用help("M_eigen_max")查看具体使用;
  2. 新增矩阵取绝对值函数 M_abs(),可使用help("M_abs")查看具体使用;
  3. 完善向量和矩阵的各种范数运算,使用函数M_norm():新增1范数(1)、2范数(2)、无穷范数(INF)、F范数(FRO)等方法。此外,还修正了矩阵二范数计算错误的问题,具体使用可调用help("M_norm")查看;

更多资料和信息:
https://github.com/Amoiensis/Matrix_hub


具体应用例子:
Optimization-Algorithm(最优化算法):https://github.com/Amoiensis/Optimization-Algorithm


Matrx_hub_v1.4_source_cod

02 Feb 14:27
Compare
Choose a tag to compare

Matrix_Hub

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

Author: Amoiensis
Email: [email protected]
Data:2020.02.12

[更新说明v1.4]

  1. 新增 help() 函数,可以输入各函数名称,查看具体使用方法;如,help("help")、help("Matrix_gen")、help("README")、help("Update"),等;
  2. 新增函数“M_numul_m ()”,用于矩阵数乘 ,矩阵对于矩阵进行操作,各行对应数乘 ;
  3. 将原 M_matFull() 函数中,最左侧,和最上侧,row_up和column_left取值从“0”设置为“1(HEAD)”;
  4. 修正原代码中"Matirx"的误写,修正为"Matrix";

[更多资料和信息]
https://github.com/Amoiensis/Matrix_hub

[具体应用例子]
Optimization-Algorithm(最优化算法):https://github.com/Amoiensis/Optimization-Algorithm

Matrx_hub v1.1 source_code package.

16 Sep 16:46
Compare
Choose a tag to compare