# singleindex#

## Purpose#

Converts a vector of indices for an N-dimensional array to a scalar vector index.

## Format#

si = singleindex(i, o)#
Parameters:
• i (Nx1 vector) – indices into an N-dimensional array

• o (Nx1 vector) – orders of an N-dimensional array

Returns:

si (scalar) – index of corresponding element in 1-dimensional array or vector.

## Examples#

```// Set orders
orders = { 2, 3, 4 };

// Allocate array
a = arrayalloc(orders,0);
ai = { 2, 1, 3 };

// Set array
setarray a, ai, 49;
v = vecr(a);
vi = singleindex(ai, orders);

print "ai = " ai;
print "vi = " vi;
print "getarray(a, ai) = " getarray(a, ai);
print "v[vi] = " v[vi];
```
```ai =
2.0000000
1.0000000
3.0000000

vi = 15.000000

getarray(a, ai) = 49.000000

v[vi] = 49.000000
```

This example allocates a 3-dimensional array a and sets the element corresponding to the index vector ai to 49. It then creates a vector, v, with the same data. The element in the array a that is indexed by ai corresponds to the element of the vector v that is indexed by vi.

## Remarks#

This function and its opposite, `arrayindex()`, allow you to convert between an N-dimensional index and its corresponding location in a 1-dimensional object of the same size.

Functions `arrayindex()`