Basis - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


LinearAlgebra[Modular]

  

Basis

  

compute Basis and Nullspace mod m

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Basis(m, A, orient, basis, nullsp)

Parameters

m

-

modulus

A

-

mod m Matrix or list or set of mod m Vectors

orient

-

orientation of Vectors in mod m Matrix

basis

-

output format of basis Vectors

nullsp

-

output format of nullspace Vectors

Description

• 

The Basis function computes a basis of the set of Vectors described by A, and returns that basis and the nullspace.

• 

The orient parameter is specified if A is a mod m Matrix.  It indicates to the Basis command whether the vectors of the input Matrix are in rows (orient=row) or columns (orient=column).

• 

The basis and nullsp parameters indicate the format in which the respective Vectors are returned by Basis. They can be any of the following values:

 

 

false

no output

row

list of mod m row vectors

column

list of mod m column vectors

Matrix[row]

mod m Matrix with vectors in the rows

Matrix[column]

mod m Matrix with vectors in the columns

 

 

• 

If neither basis or nullsp are false, both the basis and nullspace Vectors are returned as a two element sequence. If both are false, an error results.

  

For example, if Basis is called with basis=false and nullsp=column, the output would be a list of column Vectors for the nullspace.

• 

The Basis command works with a copy of the input data, using the MatBasis command to perform the computation, so if data storage or efficiency are a concern, the MatBasis command should be used.

• 

This command is part of the LinearAlgebra[Modular] package, so it can be used in the form Basis(..) only after executing the command with(LinearAlgebra[Modular]).  However, it can always be used in the form LinearAlgebra[Modular][Basis](..).

Examples

Three dimensional basis, two dimensional nullspace, and Vector input.

withLinearAlgebraModular:

p2741

p2741

(1)

AseqModp,Vectorcolumn5,irand,float8,i=1..3

A164.1946.211.49.2418.,2543.1568.127.356.581.,430.1549.2376.1511.1839.

(2)

B,NBasisp,A,column,row

B,N1.0.0.1972.1878.,0.1.0.1578.1735.,0.0.1.1724.2166.,769.1163.1017.1.0.,863.1006.575.0.1.

(3)

Check orthogonality.

seqseqMultiplyp,i,j,i=N,j=B

0.,0.,0.,0.,0.,0.

(4)

Matrix input, request nullspace only.

AModp,Matrix3,5,i,jrand,integer

A30148075410494231980253314396720512635353265716172198

(5)

NBasisp,A,row,false,column

N12791956248110,327246470101

(6)

Check orthogonality.

seqMultiplyp,A,i,i=N

000,000

(7)

For the same problem, request the nullspace as Matrix.

NBasisp,A,row,false,Matrixcolumn

N12793271956246424817011001

(8)

Check orthogonality.

Multiplyp,A,N

000000

(9)

See Also

LinearAlgebra/Details

LinearAlgebra[Modular]

LinearAlgebra[Modular][MatBasis]

LinearAlgebra[Modular][Mod]

LinearAlgebra[Modular][Multiply]