《用MKL求解稀疏线性系统》由会员分享,可在线阅读,更多相关《用MKL求解稀疏线性系统(2页珍藏版)》请在金锄头文库上搜索。
1、用 MKL 求解稀疏线性系统并行直接求解器pardiso(pt, &maxfct, &mnum, &mtype, &phase, &n, a, ia, ja, perm, &nrhs, iparm, &msglvl, b, x, &error)线性系统为: a, ia, jax = b输入:a, ia,间:定义一个以行为主存储的稀疏矩阵b: 数组,线性系统的右边mtype:矩阵a, ia, ja类型:实数/复数,对称/非对称/Hermitian,正定/非正 定phase:求解阶段。求解时,用不同的phase值调用pardiso多次。 nrhs:同时求解多个类似的线性系统:a, ia,间(x ,
2、 x . x ) = ( b , b . b )1 1 nrhs 1 1 nrhs输出: x: 数组,解向量注: a,b,x 均以双精度存储详见非对称稀疏系统求解函数。稀疏矩阵存储格式:1. 以行为主的存储格式:values, columns, rowindexvalues:非零元素值数组columns:整型数组,columnsi为valuesi所在列号(索引)。注意:首列索引(列号)为1(而不是 0)rowindex:整型数组,rowIndexi为第i行元素首个非零元素在values中的索引,即valuesrowindexi为第i行首个非零元素值例:-1.0-1.00.0-3.00.0-2.05.00.00.00.0A=0.00.04.06.04.0-4.00.02.07.00.00.08.00.00.0-5.0int rowIndex 6 = 1, 4, 6, 9, 12, 14 ;int columns13 = 1, 2, 4, 1, 2, 3, 4, 5, 1, 3, 4, 2, 5 ;double values13 = 1.0, -1.0, -3.0, -2.0, 5.0, 4.0, 6.0, 4.0, -4.0, 2.0, 7.0, 8.0, -5.0 ; 2. 以列为主的存储格式。待补充Contact:陈仁杰()