The Matrix File Attribute List contains all information FMS needs to manage the files used for storing a matrix. You provide an empty array to the FMS subroutine that opens the matrix file and FMS fills in the necessary information. You then provide this array to each FMS subroutine you call to perform operations on the matrix.

For most applications, you do not need to know what FMS stores in this array. If you want to read or write the diagonal vector, the file is LUA(2). If you are reusing a matrix file as part of a nonlinear analysis, you may need to reset LUA(7) after each iteration. Other than these two conditions, you should not use terms directly from this array.

Matrix File Attribute List
Word Name Description
1 LUAL FMS file number for lower triangle matrix [AL].
2 LUAD FMS file number for matrix diagonals [D].
3 LUAU FMS file number for upper triangle matrix [AU].
This file is only used for nonsymmetric matrices.
For symmetric matrices, LUAU=0.
4 LUAI FMS file number for the Segment Table.
5 LENRLU Record length for files LUAL and LUAU.
6 NUMSEG Number of matrix segments.
7 NEWSEG Matrix segment status parameter.
  • 0, Files do not contain any matrix data.
  • 1 to NUMSEG, Segments 1 through (NEWSEG-1) contain factored data and segments NEWSEG through NUMSEG contain unfactored data.
  • NUMSEG+1, Files contain all factored data.
This attribute indicates the status of the matrix data. When the file is opened, NEWSEG is set to 0 to indicate that there is no matrix data on the files. When the matrix assembly subroutine is called, NEWSEG is updated to be the matrix segment containing equation LOWASM, which is an FMS Parameter. If the assembly process begins at the first equation (LOWASM=1), the value of NEWSEG after assembly is 1, indicating the matrix files contain entirely unfactored data. However, if a nonlinear analysis is being performed and only the bottom part of the matrix is to be reassembled and factored, NEWSEG is set to the segment containing the first changed equation, LOWASM. The factoring process begins at segment NEWSEG and continues down the matrix to the last segment NUMSEG. At the end of the factoring process, NEWSEG is set to NUMSEG+1 to indicate that the files contain factored matrix data. During the solution the value NEWSEG is checked to be equal to NUMSEG+1 to prevent an unfactored matrix from being used for vector solution.
8 NUMEQ Number of equations.
9 LENDIA Record length of the diagonal file LUAD.
10 NUMRLU Number of records on files LUAL and LUAU.
11 IDTYPE Data type (1=real, 2=complex).
12 ISTYPE Matrix symmetry (1=symmetric, 2=nonsymmetric, 3=Hermitian).
13 MFMAT Matrix format (1=PROFILE, 2=BLOCK, 3=SLAB)
14 MPIVOT Reserved for future use.
15 LENTAB Length of the Segment Table, which is stored on file LUAI.
16 IAVGBW Average bandwidth
17 IQSV Queue/Stripe/Volume number
18 IOPEN Address space.
=0, In FMS managed memory or disk,
=1, In the application. This file was created by calling RSDANN, RNDANN, CHDANN, CSDANN, CNDANN.
19 IROWCO File format (0=Standard, 1=FMSROW, 2=FMSCOL, 3,4=FMSPUT)
20 IFULL Sparsity (0=Profile, 1=Full)
21 NEQBIO I/O block dimension NEQBIO (BLOCK and SLAB only)
22 NEQBLK Compute block dimension NEQBLK
23 IJSTEP Stride toward diagonal IJSTEP
24 INSIDE Blocking pattern INSIDE
25 NONE Reserved for future use