Close
Close window
ArrayTools - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.
Maplesoft logo
Maplesoft logo

Online Help

All Products Maple MapleSim


[フレーム] [フレーム]

Overview of the ArrayTools Package

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.

The long form, ArrayTools:-command, is always available. The short form can be used after loading the package.

List of ArrayTools Package Commands

Examples

Vector example

>

withArrayTools

AddAlongDimension,Alias,AllNonZero,AnyNonZeros,Append,BlockCopy,CircularShift,ComplexAsFloat,Compress,Concatenate,Copy,DataTranspose,Diagonal,Dimensions,ElementDivide,ElementMultiply,ElementPower,Extend,Fill,FlipDimension,GeneralInnerProduct,GeneralOuterProduct,HasNonZero,HasZero,Insert,IsEqual,IsMonotonic,IsSubsequence,IsZero,Lookup,LowerTriangle,MultiplyAlongDimension,NumElems,Partition,Permute,PermuteInverse,RandomArray,ReduceAlongDimension,RegularArray,Remove,RemoveSingletonDimensions,Replicate,Reshape,Reverse,ScanAlongDimension,SearchArray,Size,SortBy,SuggestedDatatype,SuggestedOrder,SuggestedSubtype,Uncompress,UpperTriangle

(1)
>

MVectorrow10,ii

M12345678910

(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,ji+Ij,datatype=complex8,order=C_order

M1.+I1.+2.I1.+3.I2.+I2.+2.I2.+3.I

(6)

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

>

MrComplexAsFloatM

Mr1.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.+I0.+2.I0.+3.I0.+I0.+2.I0.+3.I

(8)


Download Help Document

AltStyle によって変換されたページ (->オリジナル) /