# HasImplicitDimension

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

New to Analytica 6.0

## HasImplicitDimension(x)

Returns true when «x» is an array with an implicit dimension.

An implicit dimension is a dimension that is not associated with an index object. A list is the most basic example, which is a one-dimensional array with no associated index. The single dimension cannot be explicitly identified by name. When a list is combined with an array value, the resulting array has the indexes of the original array plus one additional implicit dimension.

This will return true for pseudo-dimensions as well. This concept is illustrated in the following example: 

LocalIndex J := 1..3; /* This is a real index */ [[Local] a := 1..5; /* This is NOT an index. But it is a pseudo-index */ Local x := a^J; /* A 2-D array */ HasImplicitDimension(x) /* return true */

In the example, the local a is a value and is not an index, but since it was assigned a list value, it has an implicit dimension, which is also an implicit dimension in x. But while the local a remains in lexical scope, there is a way of referring to that dimension by name, i.e., it would work to write Sum(x,a). However, once local a falls out of scope, it will no longer be possible to refer to that dimension by name, and hence, it is implicit. In contrast, when J leaves lexical scope, you would still be able to refer to its index using x.J, hence J is an explicit index.