Subject: Re: BIRD29.1 questions

From: [email-masked] ( Bob Ross)
Date: Wed, 5 Jul 95 13:20 PDT

Ron:

I have given your questions some thought because the bandwidth B in IBIS
Version 2.1 and in BIRD29.1 are not explicitly limited.  I plan to issue
BIRD29.2 to put in the limits explicitly.

With respect to the case where there is no circle-back, there is an implicit
limit by construction that B < N.  The parser issues an error if B >= N.
When B = N - 1 the Banded-matrix entries are the same as the Full-matrix
entries.

When circle-back occurs, we have a case where the Banded-matrix can have 
redundant terms and actually contain more entries than the Full-matrix
specification.  Your example illustrates such a case.   Your example (when
corrected) would have 12 entries, but the Full-matrix specification would
have 10 entries.  Since redundant entries create ambiguity in the data base,
I think that they should be flagged as an error.  All other forms of the
matrix specification avoid redundant entries by definition.

The test to avoid redundant entries is:

  IF the Banded-matrix is a circle-back banded matrix AND 
     B > int((N - 1) / 2)
  THEN issue an error

In your example, N = 4, and B = 2.  An error should be issued since
2 > 1.  In this way, you do not need to test to see entries 31 = 13 and
24 = 42.  We should not allow the opportunity to specify twice the same
value.

So, with respect to your specific questions,

[1]  Your are correct - row 4 is in error because row 3 determined that
this is a circle-back banded matrix and row 4 does not contain B+1 entries.

[2]  Rather than checking for individual values, also issue an Error
based on the B > int((N - 1) /2) test above.  The message can be of the
form  ... Bandwidth > (calculate the limit value) not permitted when
entering circle-back coupling form of Banded_matrices.  This could be
a row 3 error since it may be ambiguous what form was really intended.

[3]  The alternative style of coupling without circle-back is equally valid,
so no warning should be issued.

Bob Ross,
Interconnectix, Inc.

> Date: 03 Jul 95 23:22:14 EDT
> From: "Ronald M. Neville" <[email-masked]>
> To: Bob Ross <[email-masked]>
> Cc: Paul Munsey <[email-masked]>
> Subject: BIRD29.1 questions

> Hi Bob,

> I have received a copy of BIRD29.1, handling "wrap-around" or "circle-back"
> coupling in banded matrices.  

> Before I jump into implementation, an example and a few questions:

> [1] "All rows will contain B + 1 entries." (when we are describing a
> a circle-back matrix...)  So, the following 4X4 matrix contains an error:

> [Inductance Matrix] Banded_matrix
> [Bandwidth]	2
> [Row] 1
> 0.01  0.12 0.37   | this row ok, "11", "12", and "13"
> [Row] 2
> 3.21  5.89 2.22   | this row ok, "22", "23", and "24"
> [Row] 3
> 2.81  4.69 3.22   | this row ok, "33", "34", and "31"
> [Row] 4
> 7.91  5.89        | this row is incomplete, "42" is missing

> Row 3, where the column exceeds the rows, is where the Parser determines that
> this matrix is a circle-back banded matrix type matrix.

> [2] In the matrix above, "13" is listed as 0.37 and "31" is listed as 3.22 .  
> Should this be flagged as an error?  (Is coupling commutative?)

> [3] Should an old-style, non-circleback banded matrix generate a warning from
> the parser?

> thanx, ron