Subject: re: BIRD29 Name for new banded matrix structure

From: [email-masked] ( Bob Ross)
Date: Thu, 1 Jun 95 10:08 PDT

To IBIS team and commentors:

I believe the need for a revised matrix structure which utilizes the "banding"
format efficiency is apparent and not being debated.

Two issues are emerging:

(1) Do we really require another alternative keyword to support "banding"
with no end-to-end coupling and "banding" with end-to-end coupling.  I
would hope not because the original banding method does have the technical
format restriction which the revised method would overcome and serve
as the proper method.  I would hope that any existing implementations 
could be updated at the "next release" to make the revised version
of banding the standard way.  

(2)  The second issue concerns terminology.  I believe the existing 
terminology can also be used for the revised structure by thinking in
terms of an augmented matrix structure as Bob Ward and Chris Reid have
mentioned:

To paraphrase from MATRIX COMPUTATIONS by Golub and Van Loan, pg. 6, 
"We say that an N x M matrix A has a lower bandwidth of r and an upper
bandwidth of s if a(i,j) = 0 whenever i > j + r and j > i + s.  If r = s,
then A is simply said to have bandwidth r."

For package model descriptions what we really want is the matrix of the
form Eric presented:

           1 2 3 4 5 6 7 8

       1   X X X       X X
       2   X X X X       X
       3   X X X X X     
       4     X X X X X
       5       X X X X X 
       6         X X X X X
       7   X       X X X X
       8   X X       X X X 

By augmenting the matrix (by repeating columns 1...B) we enter only the upper
triangle data corresponding to this:

           1 2 3 4 5 6 7 8 1 2

       1   X X X       
       2     X X X     
       3       X X X     
       4         X X X
       5           X X X 
       6             X X X
       7               X X X
       8                 X X X

Because a(i,j) = a(j,i), we have from this format all of the information needed
to populate the original N x N matrix.  Furthermore, this is really a
Banded_matrix according to the definition for an N x M matrix when filling
in the implied lower-triangle terms which did not need to be entered:

           1 2 3 4 5 6 7 8 1 2

       1   X X X       
       2   X X X X     
       3   X X X X X     
       4     X X X X X
       5       X X X X X 
       6         X X X X X
       7           X X X X X
       8             X X X X X

So my preference would be to stay with the three matrix formats, but to
update the definition.

Bob Ross,
Interconnectix, Inc.

---

From: [email-masked] (Chrisopher E. Reid)
Date: Thu, 1 Jun 95 13:42:30 -0400

Bob and others,

Yes, we could manage without a new keyword, overloading the
meaning of [banded], but I think it is better to add a new
keyword [augmented], or possibly to add some other notation to
the matrix definition to indicate to the parser the intention
of augmenting the matix.

One of the functions of the parser is to make sure the data
is valid, which is partially lost if we start overloading
keywords. Tools that do not have strong syntax checking are
generally much harder to use than those that do because small
errors can be difficult to find without automatic checking.

So, I still vote for a new keyword, [augmented].

Chris Reid