Public Member Functions | |
AdditionalData (const double strengthen_diagonal=0, const unsigned int extra_off_diagonals=0, const bool use_previous_sparsity=false, const SparsityPattern *use_this_sparsity=0) | |
Public Attributes | |
double | strengthen_diagonal |
unsigned int | extra_off_diagonals |
bool | use_previous_sparsity |
const SparsityPattern * | use_this_sparsity |
Parameters for SparseDecomposition.
SparseLUDecomposition< number >::AdditionalData::AdditionalData | ( | const double | strengthen_diagonal = 0 , |
|
const unsigned int | extra_off_diagonals = 0 , |
|||
const bool | use_previous_sparsity = false , |
|||
const SparsityPattern * | use_this_sparsity = 0 | |||
) |
Constructor. For the parameters' description, see below.
double SparseLUDecomposition< number >::AdditionalData::strengthen_diagonal |
strengthen_diag
times the sum of absolute row entries is added to the diagonal entries.
Per default, this value is zero, i.e. the diagonal is not strengthened.
unsigned int SparseLUDecomposition< number >::AdditionalData::extra_off_diagonals |
By default, the initialize(matrix, data)
function creates its own sparsity. This sparsity has the same SparsityPattern as matrix
with some extra off diagonals the number of which is specified by extra_off_diagonals
.
The user can give a SparsityPattern to use_this_sparsity
. Then this sparsity is used and the extra_off_diagonals
argument is ignored.
bool SparseLUDecomposition< number >::AdditionalData::use_previous_sparsity |
If this flag is true the initialize() function uses the same sparsity that was used during the previous initialize() call.
This might be useful when several linear problems on the same sparsity need to solved, as for example several Newton iteration steps on the same triangulation.
const SparsityPattern* SparseLUDecomposition< number >::AdditionalData::use_this_sparsity |
When a SparsityPattern is given to this argument, the initialize() function calls reinit(*use_this_sparsity)
causing this sparsity to be used.
Note that the sparsity structures of *use_this_sparsity
and the matrix passed to the initialize function need not be equal, but that the pattern used by this matrix needs to contain all elements used by the matrix to be decomposed. Fill-in is thus allowed.