hexagon logo

How to get MAA output in HDF5?

​I know about the DMAP CRDB_IN and CRDB_OUT and CRDB_DBK to get various matrices out. How does one use these (or another method) to get ASET information out in the HDF5 database?
 
The answer below works to extract the matrices.  Is there a reference for how to interpret the IDENTITY and COLUMN data sets such that the matrices can be rebuilt?  I didn't see anything in the DMAP programmers guide about it.  For example, the demonstration below results in COLUMN containing
[0 1 3 5 6 8 10 11 12 13 13 13 13]
and IDENTITY containing
[(b'KGG', 6, 6, 6, 10, 0, 0, 1) (b'MGG', 6, 6, 6, 3, 6, 10, 1)]
I gather that this is the name, followed by the form, then the size, then the number of non-zero entries.  After that...
I don't know to interpret the column values. 
The DATA data set has rows and values and the row values make sense but I'm missing the connection to the columns.
 
Parents
  • This is VERY confusing, so please bear with me. Useing the sample I previously attached, I backed out out what is going on. I created a pdf... It is very busy with information. I will try to highlight the most useful items below.
     
    From the IDENTITY info, the COLUMN_POS value tells you the 'index' you enter into the COLUMN data block to begin each matrix.
     
    Within the COLUMN data block, the first column is actually each matrix column, just start at '1' at each entry point for each matrix. I didn't test how it reports 'empty' columns. Then the 'POSITION' column is telling you which entry point into the DATA information (the left most column of the DATA block). Next is a super confusing aspect- the difference between the next POSITION and the current POSITION is how many rows worth of data to pull for this column from DATA.
     
    The row information in the DATA is the actual matrix row number (after adding 1... remember, most of this indexing starts at zero).
     
    I'll try to attach a pdf with screen captures and arrows, along with notes, describing this.

    Attached Files (1)
Reply
  • This is VERY confusing, so please bear with me. Useing the sample I previously attached, I backed out out what is going on. I created a pdf... It is very busy with information. I will try to highlight the most useful items below.
     
    From the IDENTITY info, the COLUMN_POS value tells you the 'index' you enter into the COLUMN data block to begin each matrix.
     
    Within the COLUMN data block, the first column is actually each matrix column, just start at '1' at each entry point for each matrix. I didn't test how it reports 'empty' columns. Then the 'POSITION' column is telling you which entry point into the DATA information (the left most column of the DATA block). Next is a super confusing aspect- the difference between the next POSITION and the current POSITION is how many rows worth of data to pull for this column from DATA.
     
    The row information in the DATA is the actual matrix row number (after adding 1... remember, most of this indexing starts at zero).
     
    I'll try to attach a pdf with screen captures and arrows, along with notes, describing this.

    Attached Files (1)
Children
No Data