LinearAlgebra[Modular][Swap] - swap data between two mod m Matrices or Vectors of the same datatype
|
Calling Sequence
|
|
Swap(m, ctype, A, B)
|
|
Parameters
|
|
m
|
-
|
modulus
|
A
|
-
|
mod m Matrix or Vector, including subspec
|
B
|
-
|
mod m Matrix or Vector, including subspec
|
ctype
|
-
|
(optional) swap type
|
|
|
|
|
Description
|
|
•
|
The Swap function exchanges data between two mod m Matrices or Vectors.
|
|
Note that the dimensions of the object specified by A must match those specified for B.
|
|
In all cases, the datatype of the output object must match the datatype of the input object.
|
•
|
The ctype parameter is used to specify the type of swap to be performed. Valid options are upper for the upper triangular part of a Matrix, lower for the lower triangular part of a Matrix, and and for the corresponding copy operation without the diagonal.
|
|
Note: These swap types are only valid for square Matrices.
|
•
|
The Swap function allows the use of sub-Matrix and sub-Vector specifications for both input and output. For example, the function can be used to exchange a row of a Matrix with a row of another Matrix (or the same Matrix), or exchange data between a column in a Matrix and a row Vector.
|
|
Note: If A and B overlap, the behavior of Swap is undefined.
|
•
|
This command is part of the LinearAlgebra[Modular] package, so it can be used in the form Swap(..) only after executing the command with(LinearAlgebra[Modular]). However, it can always be used in the form LinearAlgebra[Modular][Swap](..).
|
|
|
Examples
|
|
>
|
|
>
|
|
>
|
|
>
|
|
| (1) |
Swap entire Matrices.
>
|
|
>
|
|
| (2) |
Exchange rows 1 and 4 in A.
>
|
|
| (3) |
>
|
|
>
|
|
| (4) |
Swap row vector and third column of A.
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
>
|
|
| (7) |
Swap transposed upper triangular part of A with self (in-place transpose).
>
|
|
| (8) |
>
|
|
>
|
|
| (9) |
|
|
Download Help Document
Was this information helpful?