EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

KmlSolverMatrixCreate

创建矩阵操作句柄。

创建矩阵时是浅拷贝,用户需要保证在KmlSolverMatrixDestroy前不释放通过参数store指定的内存。

接口定义

C Interface:

int KmlSolverMatrixCreate(KmlSolverMatrix **pMatrix, const KmlSolverMatrixStore *store, const KmlSolverMatrixOption *matOption);

参数

参数名

类型

描述

输入/输出

pMatrix

KmlSolverMatrix **

矩阵句柄,pMatrix不可为空指针。

输入/输出

store

KmlSolverMatrixStore *

矩阵格式信息结构体,不可为空指针,具体内容如表1所示。

输入

matOption

KmlSolverMatrixOption *

矩阵配置选项,不可为空指针,具体内容如表2所示。

输入

表1 KmlSolverMatrixStore结构体字段描述

字段名

类型

描述

valueType

KmlSolverValueType

矩阵数值类型,有如下值。

  • KMLSS_VALUE_FP32表示float。
  • KMLSS_VALUE_FP64表示double。
  • KMLSS_VALUE_FP32C表示complex float。
  • KMLSS_VALUE_FP64C表示complex double。

indexType

KmlSolverIndexType

矩阵坐标索引类型。

  • KMLSS_INDEX_INT32表示int32_t。
  • KMLSS_INDEX_INT64表示int64_t。

nRow

int64_t

矩阵行数。

nCol

int64_t

矩阵列数。

format

KmlSolverMatrixStoreFormat

矩阵存储格式,有如下值。

  • KMLSS_MATRIX_STORE_CSR表示CSR格式。
  • KMLSS_MATRIX_STORE_CSR_L表示CSR格式,只有下三角部分。
  • KMLSS_MATRIX_STORE_CSR_U表示CSR格式,只有上三角部分。
  • KMLSS_MATRIX_STORE_CSC表示CSC格式。
  • KMLSS_MATRIX_STORE_CSC_L表示CSC格式,只有下三角部分。
  • KMLSS_MATRIX_STORE_CSC_U表示CSC格式,只有上三角部分。
  • KMLSS_MATRIX_STORE_COO表示COO格式。
  • KMLSS_MATRIX_STORE_COO_L表示COO格式,只有下三角部分。
  • KMLSS_MATRIX_STORE_COO_U表示COO格式,只有上三角部分。
  • KMLSS_MATRIX_STORE_DENSE_ROW_MAJOR表示行主序稠密存储。
  • KMLSS_MATRIX_STORE_DENSE_COL_MAJOR表示列主序稠密存储。

csr

KmlSolverMatrixStoreCSR

该类型字段描述如表3所示。

format为KMLSS_MATRIX_STORE_CSR、KMLSS_MATRIX_STORE_CSR_L或KMLSS_MATRIX_STORE_CSR_U时,该字段有效。

csc

KmlSolverMatrixStoreCSC

该类型字段描述如表4所示。

format为KMLSS_MATRIX_STORE_CSC、KMLSS_MATRIX_STORE_CSC_L或KMLSS_MATRIX_STORE_CSC_U时,该字段有效。

coo

KmlSolverMatrixStoreCOO

该类型字段描述如表5所示。

format为KMLSS_MATRIX_STORE_COO、KMLSS_MATRIX_STORE_COO_L或KMLSS_MATRIX_STORE_COO_U时,该字段有效。

dense

KmlSolverMatrixStoreDense

该类型字段描述如表6所示。

format为KMLSS_MATRIX_STORE_DENSE_ROW_MAJOR或KMLSS_MATRIX_STORE_DENSE_COL_MAJOR时,该字段有效。

表2 KmlSolverMatrixOption结构体字段描述

字段名

类型

描述

fieldMask

uint64_t

配置生效的字段掩码。非0的位代表配置对应字段指定的值,0的位代表使用默认值,可配置的掩码位见具体字段的说明。

type

KmlSolverMatrixType

指定矩阵类型,有如下值。

  • KMLSS_MATRIX_GEN表示一般矩阵,默认选项
  • KMLSS_MATRIX_STRUCT_SYM表示结构对称矩阵。
  • KMLSS_MATRIX_SYM表示对称矩阵。
  • KMLSS_MATRIX_HER表示hermitian矩阵。
  • KMLSS_MATRIX_SPD表示对称正定矩阵。
  • KMLSS_MATRIX_HPD表示hermitian正定矩阵。

掩码位:KMLSS_MATRIX_OPTION_TYPE

表3 KmlSolverMatrixStoreCSR结构体字段描述

字段名

类型

描述

value

void *

非零元数值数组,大小为非零元个数。

rowOffset

void *

行偏移数组,大小为行数加1。

colIndex

void *

列坐标数组,大小为非零元个数。

表4 KmlSolverMatrixStoreCSC结构体字段描述

字段名

类型

描述

value

void *

非零元数值数组,大小为非零元个数。

rowIndex

void *

行坐标数组,大小为非零元个数。

colOffset

void *

列偏移数组,大小为行数加1。

表5 KmlSolverMatrixStoreCOO结构体字段描述

字段名

类型

描述

value

void *

非零元数值数组,大小为非零元个数。

rowId

void *

行坐标数组,大小为非零元个数。

colId

void *

列坐标数组,大小为非零元个数。

nnz

int64_t

非零元个数。

表6 KmlSolverMatrixStoreDense结构体字段描述

字段名

类型

描述

value

void *

矩阵数值数组,大小为行数乘以列数。

ld

int64_t

主维度跨度。若为行主序,则ld为保存每一行所需要的数组长度,若为列主序,则ld表示保存每一列所需要的数组长度。

返回值

返回值

类型

描述

KMLSS_NO_ERROR

int

正常执行。

KMLSS_INTERNAL_ERROR

int

内部错误。

KMLSS_NULL_ARGUMENT

int

pMatrix,store,matOption存在空参数。

依赖

#include "kml_solver.h"

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词