Fortran Coder

标题: 求助帖-关于矩阵csr存储格式,如何将CSR格式上三角扩展到C... [打印本页]

作者: 通行天下    时间: 2017-3-5 21:09
标题: 求助帖-关于矩阵csr存储格式,如何将CSR格式上三角扩展到C...
我现在有个问题,就是我现在有一个CSR格式存储的是上三角矩阵,是一个全局矩阵的上三角,如何转换成CSR存储的全矩阵???请指教

作者: li913    时间: 2017-3-6 10:18
本帖最后由 li913 于 2017-3-6 10:20 编辑

CSR用于存储稀疏矩阵,非零元素个数少于总个数的一半以上才能节省内存。没听过“”CSR存储的全矩阵“”。如果你只是想转为全矩阵,百度一下CSR就是。

作者: vvt    时间: 2017-3-6 10:35
他的意思,是不是说,这是一个对称阵,或者是一个厄米共轭矩阵。因此,只存储了其中一半。
(但是依然是稀疏的)
现在想要还原?
作者: pasuka    时间: 2017-3-6 12:25
ivf专业版自带转换程序
参考网页
https://software.intel.com/en-us ... D-8A43-049800ABE2C7
Auxiliary routines Matrix converters
mkl_?dnscsr
Converts a sparse matrix in uncompressed representation to CSR format (3-array variation) and vice versa.

mkl_?csrcoo
Converts a sparse matrix in CSR format (3-array variation) to coordinate format and vice versa.

mkl_?csrbsr
Converts a sparse matrix in CSR format to BSR format (3-array variations) and vice versa.

mkl_?csrcsc
Converts a sparse matrix in CSR format to CSC format and vice versa (3-array variations).

mkl_?csrdia
Converts a sparse matrix in CSR format (3-array variation) to diagonal format and vice versa.

mkl_?csrsky
Converts a sparse matrix in CSR format (3-array variation) to sky line format and vice versa.


作者: 通行天下    时间: 2017-3-8 11:00
vvt 发表于 2017-3-6 10:35
他的意思,是不是说,这是一个对称阵,或者是一个厄米共轭矩阵。因此,只存储了其中一半。
(但是依然是稀 ...

是的,我就是这么个意思,,不知道有什么办法没有
作者: 通行天下    时间: 2017-3-8 11:03
li913 发表于 2017-3-6 10:18
CSR用于存储稀疏矩阵,非零元素个数少于总个数的一半以上才能节省内存。没听过“”CSR存储的全矩阵“”。如 ...

在MKL库中或者别的库都有关于矩阵格式之间函数转换的,我的意思就是原来的矩阵是个对称的复矩阵,但是现在是使用CSR格式只存储了上三角,我想还原成原来的对称矩阵,如果能还原成CSR存储的原对称矩阵就更好了
作者: 通行天下    时间: 2017-3-8 11:04
pasuka 发表于 2017-3-6 12:25
ivf专业版自带转换程序
参考网页
https://software.intel.com/en-us/node/520802#5C4E66EF-9643-4E1D-8A43- ...

依然感谢
作者: pasuka    时间: 2017-3-9 09:56
通行天下 发表于 2017-3-8 11:03
在MKL库中或者别的库都有关于矩阵格式之间函数转换的,我的意思就是原来的矩阵是个对称的复矩阵,但是现 ...

师傅领进门,修行在自身
最无聊的办法,难度不是再开一个长度为2*NNZ-N的结构体存储行号、列号和元素数值,挨个赋值,碰到非对角元素,行号列号互换,元素值取共轭,最后得到coo形式的矩阵,接着想咋玩就咋玩呗。。。

作者: 困难户    时间: 2017-8-15 23:51
朋友能不能发我CSR存储上三角矩阵的程序参考一下




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2