⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asolve.h

📁 经典numerical receip 配套代码
💻 H
字号:
struct NRsparseLinbcg : Linbcg {
	NRsparseMat &mat;
	Int n;
	NRsparseLinbcg(NRsparseMat &matrix) : mat(matrix), n(mat.nrows) {}
	void atimes(VecDoub_I &x, VecDoub_O &r, const Int itrnsp) {
		if (itrnsp) r=mat.atx(x);
		else r=mat.ax(x);
	}
	void asolve(VecDoub_I &b, VecDoub_O &x, const Int itrnsp) {
		Int i,j;
		Doub diag;
		for (i=0;i<n;i++) {
			diag=0.0;
			for (j=mat.col_ptr[i];j<mat.col_ptr[i+1];j++)
				if (mat.row_ind[j] == i) {
					diag=mat.val[j];
					break;
				}
			x[i]=(diag != 0.0 ? b[i]/diag : b[i]);
		}
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -