#include <base/config.h>
#include <base/exceptions.h>
#include <base/subscriptor.h>
+#include <base/table.h>
#include <base/smartpointer.h>
#include <lac/block_indices.h>
+#include <lac/sparse_matrix_ez.h>
template <typename Number> class BlockVector;
*/
void set (const unsigned int i,
const unsigned int j,
- const number value);
+ const Number value);
/**
* Add @p{value} to the element
* non-existent fields.
*/
void add (const unsigned int i, const unsigned int j,
- const number value);
+ const Number value);
/**
/*----------------------------------------------------------------------*/
-template <typename number>
+template <typename Number>
inline
unsigned int
-BlockSparseMatrixEZ<number>::n_block_rows () const
+BlockSparseMatrixEZ<Number>::n_block_rows () const
{
- return row_indices.size()
+ return row_indices.size();
}
-template <typename number>
+template <typename Number>
inline
unsigned int
-BlockSparseMatrixEZ<number>::n_rows () const
+BlockSparseMatrixEZ<Number>::n_rows () const
{
- return row_indices.total_size()
+ return row_indices.total_size();
}
-template <typename number>
+template <typename Number>
inline
unsigned int
-BlockSparseMatrixEZ<number>::n_block_cols () const
+BlockSparseMatrixEZ<Number>::n_block_cols () const
{
- return column_indices.size()
+ return column_indices.size();
}
-template <typename number>
+template <typename Number>
inline
unsigned int
-BlockSparseMatrixEZ<number>::n_cols () const
+BlockSparseMatrixEZ<Number>::n_cols () const
{
- return column_indices.total_size()
+ return column_indices.total_size();
}
-template <typename number>
+template <typename Number>
inline
-SparseMatrixEZ<number> &
-BlockSparseMatrixEZ<number>::block (const unsigned int row,
+SparseMatrixEZ<Number> &
+BlockSparseMatrixEZ<Number>::block (const unsigned int row,
const unsigned int column)
{
Assert (row<n_rows(), ExcIndexRange (row, 0, n_rows()));
-template <typename number>
+template <typename Number>
inline
-const SparseMatrixEZ<number> &
-BlockSparseMatrixEZ<number>::block (const unsigned int row,
+const SparseMatrixEZ<Number> &
+BlockSparseMatrixEZ<Number>::block (const unsigned int row,
const unsigned int column) const
{
Assert (row<n_rows(), ExcIndexRange (row, 0, n_rows()));
-template <typename number>
+template <typename Number>
inline
unsigned int
-BlockSparseMatrixEZ<number>::m () const
+BlockSparseMatrixEZ<Number>::m () const
{
return n_rows();
};
-template <typename number>
+template <typename Number>
inline
unsigned int
-BlockSparseMatrixEZ<number>::n () const
+BlockSparseMatrixEZ<Number>::n () const
{
return n_cols();
};
-template <typename number>
+template <typename Number>
inline
void
-BlockSparseMatrixEZ<number>::set (const unsigned int i,
+BlockSparseMatrixEZ<Number>::set (const unsigned int i,
const unsigned int j,
- const number value)
+ const Number value)
{
const std::pair<unsigned int,unsigned int>
row_index = row_indices.global_to_local (i),
-template <typename number>
+template <typename Number>
inline
void
-BlockSparseMatrixEZ<number>::add (const unsigned int i,
+BlockSparseMatrixEZ<Number>::add (const unsigned int i,
const unsigned int j,
- const number value)
+ const Number value)
{
const std::pair<unsigned int,unsigned int>
row_index = row_indices.global_to_local (i),
};
-template <typename number>
+template <typename Number>
template <typename somenumber>
void
-BlockSparseMatrixEZ<number>::vmult (BlockVector<somenumber> &dst,
+BlockSparseMatrixEZ<Number>::vmult (BlockVector<somenumber> &dst,
const BlockVector<somenumber> &src) const
{
Assert (dst.n_blocks() == n_block_rows(),
-template <typename number>
+template <typename Number>
template <typename somenumber>
void
-BlockSparseMatrix<number>::vmult_add (BlockVector<somenumber> &dst,
- const BlockVector<somenumber> &src) const
+BlockSparseMatrixEZ<Number>::vmult_add (
+ BlockVector<somenumber> &dst,
+ const BlockVector<somenumber> &src) const
{
Assert (dst.n_blocks() == n_block_rows(),
ExcDimensionMismatch(dst.n_blocks(), n_block_rows()));
-template <typename number>
+template <typename Number>
template <typename somenumber>
void
-BlockSparseMatrix<number>::Tvmult (BlockVector<somenumber> &dst,
- const BlockVector<somenumber>& src) const
+BlockSparseMatrixEZ<Number>::Tvmult (
+ BlockVector<somenumber> &dst,
+ const BlockVector<somenumber>& src) const
{
Assert (dst.n_blocks() == n_block_cols(),
ExcDimensionMismatch(dst.n_blocks(), n_block_cols()));
-template <typename number>
+template <typename Number>
template <typename somenumber>
void
-BlockSparseMatrix<number>::Tvmult_add (BlockVector<somenumber> &dst,
- const BlockVector<somenumber> &src) const
+BlockSparseMatrixEZ<Number>::Tvmult_add (
+ BlockVector<somenumber> &dst,
+ const BlockVector<somenumber> &src) const
{
Assert (dst.n_blocks() == n_block_cols(),
ExcDimensionMismatch(dst.n_blocks(), n_block_cols()));