17.2 ELL_Matrix Methods
The CÆSAR Code Package uses the ELL_Matrix class to contain and
manipulate algebraic matrices. The following discussion assumes that A and
B are matrices of dimension
M×N, a_{i, j} is an element of A,
x is a vector of length N, and y is a vector of length M.
The CÆSAR Code Package contains procedures to calculate matrix norms and
matrixvector products. In parallel, these operations require global
communication. Matrixvector products (MatVecs) are defined by
Ax = y = a_{i, j} x_{j} .

(17.9) 
A matrix norm is any scalarvalued function on a matrix, denoted by the
double bar notation
A, that satisfies these properties:
A 0 
, 
A + B A + B , 

sA = sA , 
. 

(17.10) 
A frequently used matrix norm is the Frobenius norm:
The general class of matrix norms known as the pnorms are defined in
terms of vector norms by:
In particular, the 1 and norms are the most easily calculated:
A 
= 
a_{i, j} (maximum absolute column sum), 
(17.13) 
A 
= 
a_{i, j} (maximum absolute row sum). 
(17.14) 
In general, pnorms are difficult to calculate. The 2norm can be
shown to be:
A 
= 
, 
(17.15) 

= 
, , 
(17.16) 
where A^{H} is the Hermitian (or complex conjugate transpose, or adjoint)
of A. Calculating the 2norm of a matrix requires an iterative
procedure, and is not currently done in CÆSAR (only Frobenius, p = 1
and p = norms are calculated). However, CÆSAR calculates an
estimate of the 2norm as a range (or the middle of the range) using the
following relationships:
A 

A 

A , 
a_{i, j} 

A 

a_{i, j} , 
A 

A 

A , 
A 

A 

A , 


A 

. 

(17.17) 
For a similar but more complete discussion of matrix operations see
Golub & Van Loan (1989).
Michael L. Hall