LinearAlgebra[Modular][Copy] - copy mod m Matrix or Vector to a new or already existing mod m Matrix or Vector
|
Calling Sequence
|
|
Copy(m, ctype, A, B, order)
|
|
Parameters
|
|
m
|
-
|
modulus
|
A
|
-
|
input object (copy from), including subspec
|
B
|
-
|
(optional) output object (copy to), including subspec
|
order
|
-
|
(optional) ordering of output object
|
ctype
|
-
|
(optional) copy type; lower, upper, uppernodiag, or lowernodiag
|
|
|
|
|
Description
|
|
•
|
The Copy function copies data from one mod m Matrix or Vector to another, or to a new Matrix or Vector.
|
|
If B or order are not specified, a new output object with the same ordering as the input object A is returned. If B is not specified, the returned object has the specified ordering either C_order or Fortran_order.
|
|
If order is not specified, the copy is performed into the output object B and NULL is returned. Note that the dimensions of the object specified for 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 copy 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 copy types are only valid for square Matrices.
|
•
|
The Copy function allows the use of sub-Matrix and sub-Vector specifications for both input and output. For example, the function can be used to copy a row of a Matrix to a row of another Matrix, or convert a Matrix into a Vector.
|
|
Note: If A and B overlap, the behavior of Copy is undefined.
|
•
|
This command is part of the LinearAlgebra[Modular] package, so it can be used in the form Copy(..) only after executing the command with(LinearAlgebra[Modular]). However, it can always be used in the form LinearAlgebra[Modular][Copy](..).
|
|
|
Examples
|
|
>
|
|
>
|
|
| (1) |
Copy entire Matrix.
>
|
|
| (2) |
Copy row 3 to row Vector.
>
|
|
| (3) |
>
|
|
| (4) |
Copy column 2 to column Vector.
>
|
|
| (5) |
>
|
|
| (6) |
Copy column 2 to a 4x1 Matrix.
>
|
|
| (7) |
>
|
|
| (8) |
Copy row 3,2 of A to row 2,3 of B.
>
|
|
| (9) |
>
|
|
>
|
|
>
|
|
| (10) |
This is an error, as B is too small.
>
|
|
| (11) |
>
|
|
This example results in an error, as datatypes cannot be mixed.
>
|
|
| (12) |
>
|
|
An example of upper and lower copy.
>
|
|
| (13) |
>
|
|
>
|
|
>
|
|
| (14) |
|
|