您的位置:首页 > 其它

稀疏矩阵的存储格式 之 CSR/CSC

2012-03-16 02:03 531 查看
稀疏矩阵的存储格式 之 CSR/CSC - 张沈鹏,在路上... - ITeye技术网站

稀疏矩阵的存储格式 之 CSR/CSC

博客分类:Python
J#CC++C#HTMLR是Row,C是Column

以csr为演示



I中每一个元素代表一行,其数值代表该行从J中哪个元素开始.J是列号了

空间 2*nnz+n(因为I==行数,J==2*nnz),nnz是非0元素个数
http://www.cs.utk.edu/~dongarra/etemplates/node373.html
然后可以看看下面的代码有什么bug,我还没有高兴看:)但是一定是有bug的...

template <typename T> static void

gf_spmat_get_data(gmm::csc_matrix_ref<const T*, const unsigned int *, const unsigned int *> M,

getfemint::mexargs_out& out, int which) {

size_type nz = M.jc[M.nc];

if (which == 0) {

iarray w = out.pop().create_iarray_h(unsigned(M.nc+1));

for (unsigned i=0; i < M.nc+1; ++i)

{ w[i] = M.jc[i] + config::base_index(); }

if (out.remaining()) {

w = out.pop().create_iarray_h(unsigned(nz));

for (unsigned i=0; i < nz; ++i)

{ w[i] = M.ir[i] + config::base_index(); }

}

} else {

garray<T> w = out.pop().create_array_h(unsigned(nz), T());

for (unsigned i=0; i <
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: