ParallelCGLinearSolver
Linear system solver using the conjugate gradient iterative algorithm in parallel
Templates:
ParallelCompressedRowSparseMatrixMat3x3d
ParallelCompressedRowSparseMatrixd
Target: MultiThreading
namespace: multithreading::component::linearsolver::iterative
parents:
CGLinearSolver
Base
Data:
Name | Description | Default value |
---|---|---|
name | object name | unnamed |
printLog | if true, emits extra messages at runtime. | 0 |
tags | list of the subsets the objet belongs to | |
bbox | this object bounding box | |
componentState | The state of the component among (Dirty, Valid, Undefined, Loading, Invalid). | Undefined |
listening | if true, handle the events, otherwise ignore the events | 0 |
parallelInverseProduct | Parallelize the computation of the product J*M^{-1}*J^T where M is the matrix of the linear system and J is any matrix with compatible dimensions | 0 |
iterations | Maximum number of iterations of the Conjugate Gradient solution | 25 |
tolerance | Desired accuracy of the Conjugate Gradient solution evaluating: |r|²/|b|² (ratio of current residual norm over initial residual norm) | 1e-05 |
threshold | Minimum value of the denominator (pT A p)^ in the conjugate Gradient solution | 1e-05 |
warmStart | Use previous solution as initial solution | 0 |
graph | Graph of residuals at each iteration | |
nbThreads | If not yet initialized, the main task scheduler is initialized with this number of threads. 0 corresponds to the number of available cores on the CPU. -n (minus) corresponds to the number of available cores on the CPU minus the provided number. | 0 |
taskSchedulerType | Type of task scheduler to use. | _default |
Links:
Name | Description |
---|---|
context | Graph Node containing this object (or BaseContext::getDefault() if no graph is used) |
slaves | Sub-objects used internally by this object |
master | nullptr for regular objects, or master object for which this object is one sub-objects |
linearSystem | The linear system to solve |