[ibis-interconn] Re: Draft "pseudo-specification" for sparse matrices...

  • From: <radek_biernacki@xxxxxxxxxxx>
  • To: <vladimir_dmitriev-zdorov@xxxxxxxxxx>, <michael.mirmak@xxxxxxxxx>, <ibis-interconn@xxxxxxxxxxxxx>
  • Date: Tue, 21 Jul 2009 00:58:42 -0600

Hi Vladimir,

Yes, your interpretation is correct. The [Implicit...] keyword was intended as 
an optional way to reduce the data sizes in the case of duplicate values. 
Though we might decide on something, I personally would not impose any more 
rigid structure regarding the sequence (row-wise, or otherwise), breaking into 
separate lines, etc., and from that point of view I am fine with, for example, 
swapping (1,1) with (5,5).

What I do not quite like about the [Implicit...] keyword is the fact that it 
would be another keyword. I do not recall your original e-mail (only Michael's 
re-worked version - I was away for while in June), but from Brad's e-mail I see 
that our proposals are indeed pretty close. In fact, I like the first scheme he 
proposed - Brad, I hope my interpretation is consistent with yours.

For my original example the new way could be as follows.

[Sparse Matrix Entries]
(1,1) (2,2) (3,3) (4,4) (5,5) : (1,5) : (3,1)
[Sparse Matrix Entries End]

Here the colon ":" is the separator of groups of identical entries. The data 
groups under [Network Data] need to contain as many complex numbers as the 
number of fields delimited by ":". In the extreme case, the colon would be used 
between each pair if there are no identical entries (or if identical entries 
were listed anyway). In this combined proposal we do not need any additional 
keywords, and all the entries can be specified in as few lines as desired (my 
understanding is that, originally, the "vectors" would be listed one par line, 
so the header would occupy as many lines as the number of complex numbers in 
data groups.).

As far as my preferences are concerned, the three groups above could be listed 
in any order. The same order, of course, applies to the data. Similarly, the 
individual entries within a group could be listed in any order.

I am personally against any IDs, names, etc.

For your last question, I believe that if "Lower" or "Upper" is specified 
together with "Sparse" then the above scheme is needed for the entries from the 
respective triangle only (your case 2), and other entries should not be allowed 
at all.

Radek

-----Original Message-----
From: Dmitriev-Zdorov, Vladimir [mailto:vladimir_dmitriev-zdorov@xxxxxxxxxx] 
Sent: Wednesday, July 15, 2009 11:35 AM
To: BIERNACKI,RADEK (A-Sonoma,ex1); michael.mirmak@xxxxxxxxx; 
ibis-interconn@xxxxxxxxxxxxx
Subject: RE: [ibis-interconn] Re: Draft "pseudo-specification" for sparse 
matrices...

Radek,

So here the things in the first line (1,1) (1,5) etc. serve to indicate
positions in the matrix into where we should place the numbers.

In other lines, [Implicit ...] the same things are used as names
designating the numbers that we need to put somewhere else.

I'm slightly uncomfortable with the fact that in this notation (1,1)
seems somewhat out of the row compared to other diagonal elements,
although they are all equal.

As was noted, this notation allows some freedom: we can e.g. swap (1,1)
and (5,5) and the result will not change. Is this good or bad?

Another question. We define Low or Upper for symmetrical matrix, but
symmetry in the proposed sparse sense is just a special case of data
duplication, between certain pairs of elements. Hence, for symmetric
matrices, even without mentioning 'symmetry', 'upper' or 'low' we will
not duplicate the data for sparse matrix anyway. We may however think of
saving some space when defining mapping from given entries into the
position of the final matrix. Here, we have several possibilities: (1)
list all matrix components and indicate identical [(k,m) == (m,k)], as
for general case matrix; (2) list only 'Low' or 'Upper' components, with
appropriate keyword defined earlier, or (3) list either of the (k,m) or
(m,k), but only once, with 'Symmetry' defined before. What makes more
sense?

Vladimir

[Matrix Format] Sparse

[Sparse Matrix Entries]
(1,1) (1,5) (3,1)
[Implicit Sparse Matrix Entries]
(1,1): (2,2) (3,3) (4,4)
[Implicit Sparse Matrix Entries]
(1,1): (5,5)
[Sparse Matrix Entries End]





------------------------------------------------------------------
      The IBIS Ad Hoc Interconnect Task Group Mailing List

Archives are available at:
                //www.freelists.org/archives/ibis-interconn

TO UNSUBSCRIBE:
        Send a message to "ibis-interconn-request@xxxxxxxxxxxxx"
        with a subject of "unsubscribe"

To administer your subscription status from the web, visit:
                //www.freelists.org/list/ibis-interconn



Other related posts: