SCHEMA Tabular_function_arm;
USE FROM Maths_function_arm -- Maths_function (Maths_function); USE FROM Maths_value_arm -- Maths_value (Maths_value);
ENTITY Banded_matrix SUBTYPE OF (Table); default : Maths_value; below : INTEGER; above : INTEGER; WHERE nondefault : -below <= above; END_ENTITY;
ENTITY explicit_table SUBTYPE OF (Table); END_ENTITY;
ENTITY Sparse_matrix
SUBTYPE OF (Table);
default : Maths_value;
index : LIST [1,?] OF INTEGER;
locations : LIST [1,?] OF INTEGER;
WHERE
matrix : SIZEOF(SELF\table.shape) = 2;
proper_index_length:
(order AND (SIZEOF(index) = self\table.shape[1] + 1))
OR
((NOT order) AND (SIZEOF(index) = self\table.shape[2] + 1));
proper_locations_length: SIZEOF(locations) = SIZEOF(terms);
END_ENTITY;
ENTITY Symmetric_matrix SUBTYPE OF (Table); skew : BOOLEAN; WHERE square : self\table.shape[1] = self\table.shape[2]; END_ENTITY;
ENTITY Symmetric_banded_matrix SUBTYPE OF (Table); default : Maths_value; above : INTEGER; skew : BOOLEAN; WHERE non_default : above > 0; square : self\table.shape[1] = self\table.shape[2]; END_ENTITY;
ENTITY table
SUPERTYPE OF (ONEOF (
Banded_matrix,
Explicit_table,
Sparse_matrix,
Symmetric_matrix,
Symmetric_banded_matrix,
Triangular_matrix))
SUBTYPE OF (Maths_function);
subscript_lobnd_zero : BOOLEAN;
shape : LIST [1, ?] OF INTEGER;
order : BOOLEAN;
terms : LIST [1,?] of Maths_value;
END_ENTITY;
ENTITY Triangular_matrix SUBTYPE OF (Table); default : Maths_value; lower : BOOLEAN; END_ENTITY;
END_SCHEMA;
Page last updated - 7 Sep 2000