# Command: ArrayShape

NEST HelpDesk | Command Index | NEST Quick Reference

Name:

    ArrayShape - reduce a multidimensional array to a desired shape

Synopsis:

    array1 [d1 d2 ...] LayoutArray -> array2

Examples:

      [ [ 3 6 9] 100 [ 8 2 3 7 1] ] [2] ArrayShape
      -> [[3 6 9] 100]
      [ [ 3 6 9] [ 8 2 3 7 1] ] [/All 2] ArrayShape
      -> [[3 6] [8 2]]
      [ [ 3 6 9] [ 8 2 3 7 1] ] [/All 3] ArrayShape
      -> [[3 6 9] [8 2 3]]
      [ [ 3 6 9] [ 8 2 3 7 1] ] [/All 4] ArrayShape
      -> [[8 2 3 7]]

      [[[ 6 2 3] [-7 4 5] ] [[8 3 2] [2 -9 -5] 3 7 1]] [/All 2 3] ArrayShape
      -> [[[6 2 3] [-7 4 5]] [[8 3 2] [2 -9 -5]]]

Description:

      The function is useful if an operation needs to be performed on an
      array of data which contains rows with insufficient data and rows
      with trailing superfluous entries.

      The algorithm is as follows:
     	- if dim empty return []
     	- take first d1 elements of a if available
      return [] otherwise
     	- forall these elements
     	- do nothing if [d2 ...dn] empty
     	- otherwise apply [d2 ...dn] and remove
      if result is []

Parameters:

      array1		- array to operate on
      [d1 d2 ...]	- array with specification of dimensions, where
      di is an integer or /All
      array2		- reduced array1

Remarks:

      The Mathematica function ArrayDepth (not implemented) tests whether its
      argument has the required dimensions. This is unlike the function Dimensions
      which assumes that all elements of the array at a given level have identical
      shape and, therefore, inspects only the first element at each level.

Author:

    Diesmann

FirstVersion:

    2007.11.28

SeeAlso:

- LayoutArray
- Part
- Table
- Dimensions

Source:

    /opt/conda/conda-bld/nest_1524088722951/work/nest-2.14.0/lib/sli/mathematica.sli

NEST HelpDesk | Command Index | NEST Quick Reference

© 2004 The NEST Initiative