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

?laset

初始化m*n的矩阵,且将对角线元素设置为beta,非对角线元素设置为alpha。

接口定义

C Interface:

void slaset_(const char *uplo, const int *m, const int *n, const float *alpha, const float *beta, float *a, const int *lda);

void dlaset_(const char *uplo, const int *m, const int *n, const double *alpha, const double *beta, double *a, const int *lda);

void claset_(const char *uplo, const int *m, const int *n, const float _Complex *alpha, const float _Complex *beta, float _Complex *a, const int *lda);

void zlaset_(const char *uplo, const int *m, const int *n, const double _Complex *alpha, const double _Complex *beta, double _Complex *a, const int *lda);

Fortran Interface:

SLASET(UPLO, M, N, ALPHA, BETA, A, LDA);

DLASET(UPLO, M, N, ALPHA, BETA, A, LDA);

CLASET(UPLO, M, N, ALPHA, BETA, A, LDA);

ZLASET(UPLO, M, N, ALPHA, BETA, A, LDA);

参数

参数名

类型

描述

输入/输出

UPLO

字符型

  • 'U':矩阵A的上三角部分被初始化。
  • 'L':矩阵A的下三角部分被初始化。
  • 其他:整个矩阵A都将被初始化。

输入

M

整数型

矩阵A的行数。

输入

N

整数型

矩阵A的列数。

输入

ALPHA

  • 在slaset中为单精度浮点型。
  • 在dlaset中为双精度浮点型。
  • 在claset中为单精度复数型。
  • 在zlaset中为双精度复数型。

矩阵A的非对角线元素值。

输入

BETA

  • 在slaset中为单精度浮点型。
  • 在dlaset中为双精度浮点型。
  • 在claset中为单精度复数型。
  • 在zlaset中为双精度复数型。

矩阵A的对角线元素值。

输入

A

  • 在slaset中为单精度浮点型数组。
  • 在dlaset中为双精度浮点型数组。
  • 在claset中为单精度复数型数组。
  • 在zlaset中为双精度复数型数组。

矩阵A,维度为(LDA,N)。

输出

LDA

整数型

矩阵A的主维。

输入

依赖

#include "klapack.h"

示例

C Interface:

const char uplo = 'U';
const int m = 4;
const int n = 4;
const int lda = m;

const double alpha = 2.0;
const double beta = 1.0;
double *a = (double*)malloc(lda * n * sizeof(double));
for (int i = 0; i < lda * n; i++) {
    a[i] = -1;
}

dlaset_(&uplo, &m, &n, &alpha, &beta, a, &lda);
/* 
 * Output: 
 * a output (stored in column-major)
 *   
 *  1.000000        2.000000        2.000000        2.000000
 *  -1.000000       1.000000        2.000000        2.000000
 *  -1.000000       -1.000000       1.000000        2.000000
 *  -1.000000       -1.000000       -1.000000       1.000000

Fortran Interface:

CHARACTER :: uplo = "U"
PARAMETER (m = 4) 
PARAMETER (n = 4)
PARAMETER (lda = 4) 
REAL(8) :: alpha 
REAL(8) :: beta
REAL(8) :: a(lda, n)  
  
DATA alpha / 2.0 / 
DATA beta / 1.0 /
DATA a / -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 /
 EXTERNAL DLASET
 CALL DLASET(uplo, m, n, alpha, beta, a, lda);
* 
* Output: 
* a output (stored in column-major)
*  1.000000        2.000000        2.000000        2.000000
*  -1.000000       1.000000        2.000000        2.000000
*  -1.000000       -1.000000       1.000000        2.000000
*  -1.000000       -1.000000       -1.000000       1.000000
搜索结果
找到“0”个结果

当前产品无相关内容

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