Skip to main content

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)

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pindex-0.5.1.tar.gz (5.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page