向量和矩阵
本章描述的函数为普通C数组提供了一个简单的向量和矩阵接口。这些数组的内存管理使用一个称为块的单一底层类型实现。通过将函数写成向量和矩阵的形式,可以传递一个包含数据和维度的单一结构作为参数,而不需要额外的函数参数。这些结构与BLAS例程使用的向量和矩阵格式兼容。
8.1 数据类型
每种标准数据类型都可用于所有函数。double的版本有前缀gsl_block、gsl_vector和gsl_matrix。同样,单精度float数组的版本也有前缀gsl_block_float、gsl_vector_float和gsl_matrix_float。下面列出所有可用的类型。

在gsl_vector和gsl_matrix函数中有对应的类型。
8.2 块
为了一致性,所有内存都通过gsl_block 结构体分配空间。这个结构体包含两部分,内存区域的大小和指向内存的指针。gsl_block结构体看起来像这样:
gsl_block
|
typedef struct { size_t size; double *data; }gsl_block; |
本文介绍了一种利用C数组实现向量和矩阵接口的方法。通过gsl_block、gsl_vector及gsl_matrix等结构体,文章详细阐述了如何进行内存管理和数据操作,并保持与BLAS例程兼容。
5220

被折叠的 条评论
为什么被折叠?



