Overview of the ArrayTools Package - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Low-level Manipulation : Matrices, Vectors, and Arrays : ArrayTools : ArrayTools

Overview of the ArrayTools Package

 

Calling Sequence

Description

List of ArrayTools Package Commands

Examples

Calling Sequence

ArrayTools[command](arguments)

command(arguments)

Description

• 

The ArrayTools package is an efficient set of programmer tools used for low level manipulation of rectangular storage Matrices, Vectors, and Arrays.

  

Note: This package contains tools for storage manipulation only. For mathematical operations on Matrices and Vectors, see the LinearAlgebra and VectorCalculus packages.

• 

As a programmer package, the key focus is on efficient computation. Use of the package requires a fair understanding of internal representation of Matrix and Array data structures. For information on internal storage of Matrices and Arrays, see C_order and Fortran_order.

• 

The package is primarily external (compiled code), and contains highly efficient functions for common Array related programming tasks. Some of these tasks would be impossible to program at the Maple level (for example, ComplexAsFloat), while others would be merely time consuming (for example, Fill) or require additional storage allocation (for example, DataTranspose).

  

At this time, all functions are restricted to rectangular storage Array objects.

  

Most functions in the package work for Matrices of any data type, and exceptions are noted on a by command basis.

• 

Each command in the ArrayTools package can be accessed by using either the long form or the short form of the command name in the command calling sequence.

  

As the underlying implementation of the ArrayTools package is a module, it is also possible to use the form ArrayTools:-command to access a command from the package. For more information,  see Module Members.

List of ArrayTools Package Commands

  

The following is a list of available commands.

  

Constructing Arrays

Alias

CircularShift

ComplexAsFloat

Compress

Concatenate

Diagonal

FlipDimension

LowerTriangle

Permute

PermuteInverse

RandomArray

RegularArray

RemoveSingletonDimensions

Replicate

Reshape

Uncompress

UpperTriangle

 

 

 

  

Querying Array Properties

AllNonZero

AnyNonZeros

Dimensions

HasNonZero

HasZero

IsEqual

IsZero

NumElems

SearchArray

Size

 

 

  

Modifying Arrays

Append

BlockCopy

Copy

DataTranspose

Extend

Fill

Insert

 

  

Computing with Arrays

AddAlongDimension

ElementDivide

ElementMultiply

ElementPower

MultiplyAlongDimension

 

 

 

  

To display the help page for a particular ArrayTools command, see Getting Help with a Command in a Package.

Examples

Vector example

withArrayTools

AddAlongDimension,Alias,AllNonZero,AnyNonZeros,Append,BlockCopy,CircularShift,ComplexAsFloat,Compress,Concatenate,Copy,DataTranspose,Diagonal,Dimensions,ElementDivide,ElementMultiply,ElementPower,Extend,Fill,FlipDimension,HasNonZero,HasZero,Insert,IsEqual,IsZero,LowerTriangle,MultiplyAlongDimension,NumElems,Permute,PermuteInverse,RandomArray,RegularArray,RemoveSingletonDimensions,Replicate,Reshape,SearchArray,Size,Uncompress,UpperTriangle

(1)

MVector[row]10,i→i

M:=12345678910

(2)

Duplicate first 5 entries in last 5

Copy5,M,M,5,M

1234512345

(3)

Clear every second entry

Fill0,M,1,2,M

1030502040

(4)

Alias as a 2 x 5 Matrix

AliasM,2,5,C_order

1030502040

(5)

Complex-valued example

MMatrix2,3,i,j→i+Ij,datatype=complex[8],order=C_order

M:=1.+1.I1.+2.I1.+3.I2.+1.I2.+2.I2.+3.I

(6)

View Matrix as a double-size real Matrix, type float[8]

MrComplexAsFloatM

Mr:=1.1.1.2.1.3.2.1.2.2.2.3.

(7)

Clear the real part only using the view Mr

Fill0,Mr,0,2,M

0.+1.I0.+2.I0.+3.I0.+1.I0.+2.I0.+3.I

(8)

See Also

Fortran_order

LinearAlgebra

Matrix

module

Vector

VectorCalculus

with

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam