return the resulting shape of a Matrix or Vector operation - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Linear Algebra : LinearAlgebra Package : Support : LinearAlgebra/GetResultShape

LinearAlgebra[GetResultShape] - return the resulting shape of a Matrix or Vector operation

Calling Sequence

GetResultShape(s1, s2, opn)

Parameters

s1, s2

-

name; Matrix or Vector shape

opn

-

name that is one of 'add', 'multiply', 'inverse', or 'transpose'; specifies the operation

Description

• 

The GetResultShape(s1, s2, opn) function returns a list containing a shape name which can be used as the right-hand side of a shape equation when constructing a new Matrix or Vector from one or two other such objects. The empty list signifies no shape (i.e., rectangular shape).

• 

This routine should be used by routines that operate on one or two input Matrices or Vectors, producing a new Matrix or Vector, and that need to set a shape on the resulting object.

  

The shape parameters, s1 and s2, should be names returned by MatrixOptions or VectorOptions. This routine recognizes the following built-in shapes:

symmetric

skewsymmetric

hermitian

skewhermitian

diagonal

triangular[upper]

triangular[lower]

triangular[upper,unit]

triangular[lower,unit]

Hessenberg[upper]

Hessenberg[lower]

band[l,u]

  

Note:  The shape antisymmetric must be specified as skewsymmetric, and triangular[unit, lower] must be specified as triangular[lower, unit], even though these alternate shape names are accepted by the Matrix constructor.

• 

If a shape name is not recognized (e.g., any user-defined indexing function), GetResultShape returns the empty list.

  

Note:  No special handling is done for the following Matrix and Vector shapes:

unit

scalar

constant

identity

• 

GetResultShape returns a shape that contains the result of the specified operation on input with the specified shape(s). The shape returned is valid for all input objects with the specified shape(s).

• 

Since the dimension of the Matrices or Vectors is not provided, GetResultShape may return the empty list even in cases where a specific shape could be determined. For example, multiplying two banded Matrices together produces a banded Matrix, but it is not possible to determine whether the number of bands would be valid without knowledge of the dimensions of the input Matrices.

• 

This function is part of the LinearAlgebra package, and so it can be used in the form GetResultShape(..) only after executing the command with(LinearAlgebra). However, it can always be accessed through the long form of the command by using LinearAlgebra[GetResultShape](..).

Examples

withLinearAlgebra:

A:=RandomMatrix4,shape=triangularupper:

B:=RandomMatrix4,shape=triangularupper:

ShapeA,ShapeB:=opMatrixOptionsA,shape,opMatrixOptionsB,shape

ShapeA,ShapeB:=triangularupper,triangularupper

(1)

ShapeOut:=GetResultShapeShapeA,ShapeB,'add'

ShapeOut:=triangularupper

(2)

GetResultShape'band1,3','transpose'

band3,1

(3)

GetResultShapetriangularupper,unit,diagonal,'multiply'

triangularupper

(4)

See Also

LinearAlgebra, Matrix, MatrixOptions, rtable_indexfcn, Vector, VectorOptions


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