Next: 4.3.2 Non-overlapping nodes
Up: 4.3.1 Non-overlapping elements
Previous: 4.3.1.3 Inner product.
  Contents
4.3.1.4 Matrix-times-Vector multiplication.
Here, we investigate Matrix-times-Vector multiplication with vectors and
matrices of various types. A more abstract presentation of that topic can be
found in [Gro94].
- Type-II matrix
type-I vector results in a type-II vector.
Indeed, we achieve from definition (4.1) :
 |
(4.7) |
The (not necessary) execution of the summation (implying communication)
results in a type-I vector.
-
Type-II matrix
type-II vector needs a
conversion of the vector previously to the multiplication
in item 1.
- The operation
type-I matrix
type-I vector cannot be performed with
arbitrary type-I matrices
.
For a detailed analysis, we study the operation
on node
in Fig. 4.5.
The local multiplication
should result in a type-I vector
at node
in
both subdomains.
Terms 4 and 5 of the right hand side in the above equations differ
such that processes 2 and 4 achieve different results instead of
a unique one.
The reason consists in the transport of information via the matrix
from a process
to a node belonging additionally
to another process
.
Denote by
the
processors a node
belongs to, e.g. in Fig. 4.4,
,
,
.
Then, the transport of information from node
to a node
is
only admissible if
.
Representing the matrix entries as directed graph then,
e.g., in Fig. 4.4 the entries
,
,
,
,
,
,
,
,
,
,
are not admissible.
Thus, just a matrix of the shape
 |
(4.8) |
with block-diagonal matrices
,
,
omits such forbidden entries.
Whereas the block-diagonality of
and the block structure of
,
is guaranteed by the
data decomposition, for the remaining three matrices the mesh has to
fulfill the requirements
- No connection between vertices belonging to different sets
of subdomains. This guarantees the block-diagonality
of
(often
is a diagonal matrix).
No connection between vertices and opposite edges, e.g. in
Fig. 4.4,
.
This ensures the admissible structure of
(and
).
- No connection between edge nodes belonging to different sets
of subdomains. This guarantees the block-diagonality
of
.
Requirement (a) can be easily fulfilled if, at least,
one node is located on all edges between two vertices and one node
lies in the interior of each subdomain (or has been added therein).
A modification of the given mesh generator can also
guarantee that requirement 3b is fulfilled, e.g., the
edge between nodes
and
is omitted.
Fig. 4.6 presents the revised mesh.
This strategy can be applied only to triangular or
tetrahedral finite elements.
In general, rectangular elements do not
fulfill condition 3b.
Figure 4.6:
Non-overlapping elements with a revised discretization.
 |
- As stated in the previous point, type-I matrix
type-II vector
cannot
be performed with general type-I matrices
. As result we
would expect a type-II vector.
Assuming that the necessary requirements (a) and (b)
are fulfilled
by the mesh (see Fig. 4.6) we can focus our interest
to the operation
.
Performing this operation
locally on processor 4 gives
Due to the type-II vector property, we miss in the result the
entries
and
.
The difference to the previous point is that the transport
of information from node
to a node
is permitted only if
.
Thus, just a matrix of the shape
 |
(4.9) |
with block-diagonale matrices
,
,
can be used in this type of matrix-by-vector
multiplication.
Remark: Items 3 and 4
can be combined
under the assumption that
,
,
are block-diagonale matrices (guaranteed by the mesh in Fig. 4.6).
Denote with
,
and
the strictly lower,
upper and diagonal part of
. Then, we can perform the type I matrix-by-vector
multiplication for all types of vectors
 |
(4.10a) |
Note, that in any case the above multiplications require two
type conversions, but the choice of the vectors influences directly
the amount of communication needed.
If the Matrix
has been factored as
with the lower and an upper triangular
matrices
and
, which fulfill
conditions 3 and 4, then
we write
 |
(4.11a) |
The second case, i.e.,
results in
 |
(4.12a) |
The equations for the remaining combinations of vector types
in (4.12) and (4.13)
can be easily derived by type conversion.
Here, the number and the kind of type conversion is also determined by the
way of factoring the matrix
.
Next: 4.3.2 Non-overlapping nodes
Up: 4.3.1 Non-overlapping elements
Previous: 4.3.1.3 Inner product.
  Contents
Gundolf Haase
2000-03-20