From 7c279747beb43c7e88633a6228a155a30e6834f7 Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Mon, 27 May 2024 11:38:33 -0400 Subject: Initial import --- .../src/site/apt/Specification.apt | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 israfil-foundation-nspace/src/site/apt/Specification.apt (limited to 'israfil-foundation-nspace/src/site/apt/Specification.apt') diff --git a/israfil-foundation-nspace/src/site/apt/Specification.apt b/israfil-foundation-nspace/src/site/apt/Specification.apt new file mode 100755 index 0000000..5da06ac --- /dev/null +++ b/israfil-foundation-nspace/src/site/apt/Specification.apt @@ -0,0 +1,63 @@ +This doc defines the theoretical nature of an NSpace and Sparse NSpace implementation. + + + +NSpace + + Definition: + - N-Dimensional Space representation + - NSpace is set of Dimensions + - Dimension is a set of Positions + - Each dimension is named + - Each co-ordinate is specified using names not numbers + IOW: Domain of each dim. is specified as a set of names + - Number of dimensions can change throughout lifecycle + - Dimensions are not ordered in a Space. + - Positions are not ordered in a Dimension + - value at fully-qualified-coordinate is of type Object + + + Operations + - When looking up co-ordinate - specify dimension + position + - 2 kinds of search (lookup and extract) + + Questions: + - can an NSpace hold an (NSpace)value + + +Dimension + + Definition + +SparseNSpace + + Characteristics: + + + + Questions + +Example: + + lookup() + Given a 5Space + specify 3 ordinates in lookup + Get a 5Space (3 dims have size of 1) + + extractSlice() + Given a 5Space + specify 3 ordinates in lookup + Get a 2Space + + getDimensions() + returns a set of Dimensions + + getDimension(String name) + returns a set of Positions + + space.addDimension(Dimension dimension, String origin) + all the points in the current system have to know of new dim. + + + + -- cgit v1.2.3