在GitHub上找到我
 全部 课程 文件夹 功能 变量  
公共方法|所有成员的列表
cusp::precond::diagrable<ValueType,MemorySpace>类模板引用

详细描述

模板<typename ValueType,typename MemorySpace>
class cusp::precond::diagrable类<ValueType,MemorySpace>

对角线预处理器(又称Jacobi预处理器)

模板参数
值类型用于矩阵值的类型(例如。浮动双重的).
内存空间内存空间(例如。尖点::host_memory尖点::设备内存)
概述
给定一个矩阵A类对于预处理,对角线预处理器简单地提取主对角线D类A类和实现y=D^-1 x当应用于向量时x个.

对角线预处理的使用成本很低,但效果有限。然而,如果矩阵A类对角线预处理可以大大减少达到收敛所需的求解器迭代次数。

例子
下面的代码片段演示了如何使用对角线的求解线性系统的预处理器。
整数主要(空隙)
{
//为解决方案(x)和右侧(b)分配存储空间
尖点::default_monitor<float>监护仪(b,100,1e-6);
//设置预处理程序
//解决
尖点::krylov::bicgstab(A、x、b、监视器、M);
返回0;
}
示例:
对角线.cu.

第行的定义85文件的对角线的。小时.

#包括<对角线的。小时>

尖点::precond::diagrable的继承关系图<ValueType,MemorySpace>:
cusp::linear_operator<ValueType, MemorySpace >

公共方法

模板<typename MatrixType>
 对角线的(常量矩阵类型&A)
 
模板<typename VectorType1,typename VetorType2>
空隙运算符()(const VectorType1&x,VectorType2&y)常量
 
-从继承的公共方法cusp::linear_operator<值类型,内存空间>
 线性运算符(无效)
 
 线性运算符(intnum_rows,intnum_cols)
 
 线性运算符(整数行、整数列、整数条目)
 

建造商和解构商文件

模板<typename ValueType,typename MemorySpace>
模板<typename MatrixType>
尖点::预处理::对角线<值类型,内存空间>::对角线的 ( 常量矩阵类型& A类)

构造对角线的预调节器

参数
A类矩阵到前提条件
模板参数
矩阵类型矩阵

成员功能文档

模板<typename ValueType,typename MemorySpace>
模板<typename VectorType1,typename VetorType2>
空隙尖点::预处理::对角线<值类型,内存空间>::operator() ( 常量向量类型1和 x个,
矢量类型2和  
) 常数

将预条件应用于向量x个并将结果存储在

参数
x个输入向量
输出向量
模板参数
矢量类型1矢量
矢量类型2矢量