Skip to content

Commit aa02476

Browse files
committed
Add section on matrix structure
1 parent e471cf0 commit aa02476

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

spec/latest/index.bs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,55 @@ Note: Structure-only matrices (allowed in matrix market format) can be stored
326326
using this technique with a value of 1. This adds only a small amount of
327327
overhead while describing essentially the same matrix.
328328

329+
Structure {#key_structure}
330+
--------------------------
331+
The `structure` key, if present, denotes a special matrix structure in which
332+
only one triangle of the matrix is stored and the structure and values in the
333+
other triangle are inferred.
334+
335+
#### symmetric_lower #### {#symmetric_lower_structure}
336+
337+
The `symmetric_lower` value indicates that the matrix has a symmetric structure
338+
with only the lower triangle stored. For all matrix entries with row and column
339+
indices `i,j` and value `v`, `i >= j`. If `i != j`, the entry implies the
340+
presence of an entry at row and column index `j,i` with value `v`.
341+
342+
#### symmetric_upper #### {#symmetric_upper_structure}
343+
344+
The `symmetric_upper` value indicates that the matrix has a symmetric structure
345+
with only the upper triangle stored. For all matrix entries with row and column
346+
indices `i,j` and value `v`, `i <= j`. If `i != j`, the entry implies the
347+
presence of an entry at row and column index `j,i` with value `v`.
348+
349+
#### hermitian_lower #### {#hermitian_lower_structure}
350+
351+
The `hermitian_lower` value indicates that the matrix has a Hermitian structure
352+
with only the lower triangle stored. For all matrix entries with row and column
353+
indices `i,j` and value `v`, `i >= j`. If `i != j`, the entry implies the
354+
presence of an entry at row and column index `j,i` with a value equal to the
355+
complex conjugate of `v`. The matrix's value type must be complex.
356+
357+
#### hermitian_upper #### {#hermitian_upper_structure}
358+
359+
The `hermitian_upper` value indicates that the matrix has a Hermitian structure
360+
with only the upper triangle stored. For all matrix entries with row and column
361+
indices `i,j` and value `v`, `i <= j`. If `i != j`, the entry implies the
362+
presence of an entry at row and column index `j,i` with a value equal to the
363+
complex conjugate of `v`. The matrix's value type must be complex.
364+
365+
#### skew_symmetric_lower #### {#skew_symmetric_lower_structure}
366+
367+
The `skew_symmetric_lower` value indicates that the matrix has a skew-symmetric structure
368+
with only the lower triangle stored. For all matrix entries with row and column
369+
indices `i,j` and value `v`, `i >= j`. If `i != j`, the entry implies the
370+
presence of an entry at row and column index `j,i` with value `-v`.
371+
372+
#### skew_symmetric_upper #### {#skew_symmetric_upper_structure}
373+
374+
The `symmetric_upper` value indicates that the matrix has a skew-symmetric structure
375+
with only the upper triangle stored. For all matrix entries with row and column
376+
indices `i,j` and value `v`, `i <= j`. If `i != j`, the entry implies the
377+
presence of an entry at row and column index `j,i` with value `-v`.
329378

330379
Binary Containers {#binary_container}
331380
=====================================

0 commit comments

Comments
 (0)