# HasImplicitDimension

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.