---
title: KmlScaissBicgstabSetUserSpmv?I
description: "关联用户自定义矩阵向量乘函数，需要与无矩阵初始化接口一起使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0925.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0925.html
indexId: 8292dbd2e066fe5e7af7022f3dfe3fe59b80579527e1cb6da2eebfebf26f870461
---
# KmlScaissBicgstabSetUserSpmv?I

关联用户自定义矩阵向量乘函数，需要与无矩阵初始化接口一起使用。

#### 接口定义

C Interface：

int KmlScaissBicgstabSetUserSpmvSI(KmlScasolverTask **handle, void *ustruct, int (*fptr)(void *ustruct, const float *x, float *y));

int KmlScaissBicgstabSetUserSpmvDI(KmlScasolverTask **handle, void *ustruct, int (*fptr)(void *ustruct, const double *x, double *y));


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| handle | KmlScasolverTask \*\* | 求解器句柄，传入之前步骤的变量。 | 输入/输出 |
| ustruct | void \* | 指向用户数据的指针，每次调用预条件子时作为第一个参数传递。 | 输入 |
| (\*fptr) | int | 用户自定义的函数指针，指向矩阵向量乘函数，该矩阵向量乘函数进行矩阵与其第二参数间的计算。 | 输入 |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| KMLSS\_NO\_ERROR | int | 正常执行。 |
| KMLSS\_DATA\_SIZE | int | 参数nd不等于1。 |
| KMLSS\_NULL\_ARGUMENT | int | handle，data中存在空参数。 |
