Powerful Generalized Product Form Indexing Mapping semantics are used to support multi-dimensional product form indexing for matrix objects. Multi-dimensional indices are a sequence of python objects, where the first object corresponds to the first dimension of the matrix, and so on. If there are fewer objects in the sequence than dimensions in the matrix, each remaining dimension is selected in it's entirety. A single integer, indicating one element from that dimension and a reduction in the number of dimensions in the returned matrix. A sequence of integers, not necessarily unique, selecting an arbitrary collection of elements along that dimension A slice object which selects a range of elements along the dimension with optional start index, stop index and step size.
Every arithmetic operator is implemented as a special ofunc object within python.
These functions can be called with matrix or scalar arguments to return the normal result. In addition, these functions can be subscripted to indicate that they should be applied at a specific rank, and they can be modified to indicate that instead of a direct product, they should be applied as a generalized outer, or inner product, or as a reduction or accumulation. The matrix object supports arrays of chars, bytes, shorts, ints, longs, floats, doubles, complex floats, complex doubles, and raw python objects. This is essential to allow interfacing with the full range of existing numerical libraries. I know of no other numerical language that supports such a complete collection of data types.