# 线性代数系统


线性代数系统的形式为:

其中 是系数矩阵, 是常数项, 是未知量。

线性代数系统的系数矩阵 A 和常数项 b 由主控层提供,调用算法函数时传入。算法函数是对线性代数系统问题进行求解的一系列函数,由算法扩展方提供,设置后与求解器集成。

# 数据结构

数据结构由规范定义,算法扩展时可直接使用。

函数名 简介
typedef enum MwsMatrixFeature 矩阵结构特性
typedef void* MwsLPSolverType 线性代数系统求解算法对象
typedef struct MwsLPCallbackFns 线性代数系统求解算法使用的回调函数
typedef struct MwsLPSolverFeature 线性代数系统求解算法的特性
typedef struct MwsLPSolverFcns 线性代数系统求解算法的算法函数

# 算法函数

线性系统求解算法的算法函数由扩展方实现,其中必须实现的函数由主控层调用的主体流程如下:

函数名 简介
MwsLPSolverInstantiate 创建线性求解算法的实例
MwsLPSolverGetFeature 获取线性求解算法的特性 ss
MwsLPSolverSolve 求解线性代数系统
MwsLPSolverSetDebugLogging 设置调试日志输出选项
MwsLPSolverFreeInstance 释放线性算法实例

# 工具函数

工具函数由主控层提供,在算法层由算法函数调用。

函数名 简介
MwsLogger 日志输出函数
MwsAllocateMemory 内存分配函数
MwsFreeMemory 内存释放函数

# 算法注册接口

注册接口通常在mws_user_alg.c文件中调用,对实现的算法对象进行注册。

函数名 简介
MwsSetUserLinearSolver 设置线性求解算法