Vector<number> &right_hand_side,
const bool eliminate_columns)
{
- // Require that diagonals are first
- // in each row
- Assert (matrix.get_sparsity_pattern().optimize_diagonal(),
- typename SparsityPattern::ExcDiagonalNotOptimized());
Assert (matrix.n() == right_hand_side.size(),
ExcDimensionMismatch(matrix.n(), right_hand_side.size()));
Assert (matrix.n() == solution.size(),
ExcDimensionMismatch(matrix.n(), solution.size()));
+ Assert (matrix.n() == matrix.m(),
+ ExcDimensionMismatch(matrix.n(), matrix.m()));
+
// if no boundary values are to be applied
// simply return
if (boundary_values.size() == 0)
right_hand_side.get_block_indices (),
ExcBlocksDontMatch ());
- for (unsigned int i=0; i<blocks; ++i)
- Assert (matrix.block(i,i).get_sparsity_pattern().optimize_diagonal(),
- SparsityPattern::ExcDiagonalNotOptimized());
-
-
// if no boundary values are to be applied
// simply return
if (boundary_values.size() == 0)