# pindex Release 0.5.1

An awesome tool for indexing matrices. propose a new concept “single index” (as in matlab) to index the elements from matrices. exchange python-style index(begin with 0) with matlab-style index(begin with 1)

Keywords
Index, Matrix, Single, Style, of
MIT
Install
``` pip install pindex==0.5.1 ```

# pindex

index index index!

# Introduction

## Abstract

An awesome tool for indexing matrices. propose a new concept “single index” (as in matlab) to index the elements from matrices. exchange python-style index(begin with 0) with matlab-style index(begin with 1)

## Keywords

Index, Matrix, Single Index, Style of Index

New feature:

``````1. fix some bugs
``````

Feature:

``````1. propose single index
2. change to (back from) matlab-style index
3. arithmetic of the index
``````

# Content

Classes::

``````SingleIndex: wrapper of int, list, slice
Index: array of SingleIndex
``````

Interface::

``````Arith: arithmetic of index
``````

function::

``````irange: interval-like index
``````

# Grammar

## Basic grammar

import::

``````import pindex   # python for index
``````

Example::

``````ind = SingleIndex([1,2,3])  # construct a single index
s = ind('helloworld')   # index(array) == array[index]
print(s)

A = np.array([[1,2,6],[3,4,5]])
B = ind(A)
print(B)    # index matrix with single index as in matlab

ind.py2matlab()        # change to matlab style
s = ind('helloworld')
print(s)  # output: hel

ind = Index([1,2,3])    # for 1dim array, Index == SingleIndex
ss = ind('helloworld')
print(ss)

ind = Index(([1,2],[3,4]))  # construct multi-index
try:
ss = ind(['hello', 'world'])
print(ss)
except:
ind.py2matlab()
ss = ind(['hello', 'world'])
print(ss)
``````

Attention::

``````ind = SingleIndex([1,2,3])
A = [[1,2,6],[3,4,5]]
B = ind(A)  # pindex.py thinks A is a list (of lists, with length 2) instead of matrix
ind = Index(([0,1],[0,1]))   # this is ok, since you use multi-index
``````