FreeMatrix-C: An open source C/C++ matrix and vector library for safe computations(support version C99+)
项目中需要将matlab代码转为支持MVS2010运行的C++代码,鉴于中文互联网上的C/C++矩阵运算资料在完整度、版本兼容性、可读性、安全性等方面有待进一步提升,故手搓FreeMatrix-C,并在修改后将v1.0版本开源。当前版本仅支持实数运算,缺乏对动态矩阵和自定义数据类型运算的支持、缺乏溢出检测等安全机制、缺乏matlab中支持的矩阵索引语法..后续版本将迭代完善矩阵操作算法,并提高代码的安全性能与跨平台能力。
FreeMatrix-C 是一个简单实现的C语言矩阵运算库,它提供了完整、安全的矩阵操作函数与矩阵算法,包括矩阵生成、基础运算、逆运算、行列式、范数运算、秩、奇异值分解等。
** 该项目的目标是简化C语言环境下的矩阵运算,语法支持早期C语言版本及早期Microsoft Visual Studio 2010编译器环境(_MSC_VER >= 1600),便于科研和教学使用。
** 该项目遵循Apache-3.0许可证,可在GitHub地址:XingGao-cn/FreeMatrix-C(github.com)上找到完整源代码与测试用例。
以下是头文件matrix.h,具体实现可在上述github地址找到完整代码.
目前版本为FreeMatrix-C v1.0(2024-12-9),实现了矩阵运算的基础功能。
在2.0版本,将引入以下改进:
1、增加计算矩阵的特征值、秩等运算操作
2、增加类似matlab的矩阵索引操作
3、提高矩阵运算安全性 防止溢出 防止除数为零。