mcxmap -imx fname (input) [-o fname (output)] [-make-map (output map file name)] [-make-mapc (output map file name)] [-make-mapr (output map file name)] [-cmul a (coefficient)] [-cshift b (translate)] [-rmul c (coefficient)] [-rshift d (translate)] [-mul e (coefficient)] [-shift f (translate)] [-map fname (row/col map file)] [-rmap fname (row map file)] [-cmap fname (column map file)] [-mapi fname (row/col map file (use inverse))] [-rmapi fname (row map file (use inverse))] [-cmapi fname (column map file (use inverse))] [-tab fname (read (and map) tab file)]
This utility relabels graphs or matrices. Its main use is in applying a map file to a given matrix or graph. A map file contains a so called map matrix in mcl format that has some special properties (given further below). The functionality of mcxmap can also be provided by mcx, as a mapped matrix (i.e. the result of applying a map matrix to another matrix) is simply the usual matrix product of a matrix and a map matrix. However, mcx will construct a new matrix and leave the original matrix to be mapped alone. When dealing with huge matrices, considerable gains in efficiency memory-wise and time-wise can be achieved by doing the mapping in-place. This is what mcxmap does. In the future, its functionality may be embedded in mcx with new mcx operators.
The special properties of a map matrix are
1m
1m
•
The column domain and row domain are
of the same cardinality.
1m
1m
•
Each column has exactly one entry.
1m
1m
•
Each row domain index occurs in exactly one column.
These properties imply that the matrix can be used as a map from the column domain onto the row domain. An example map matrix is found in the EXAMPLES Section.
2m
2m
-o fname (output file)
Output file.
2m
2m
-imx fname (input file)
Input file.
2m
2m
-map fname (row/col map file))
2m
2m
-rmap fname (row map file)
2m
2m
-cmap fname (column map file)
2m
2m
-mapi fname (row/col map file (use inverse))
2m
2m
-rmapi fname (row map fil (use inverse))
2m
2m
-cmapi fname (column map fil (use inverse))
Different ways to specify map files.
2m
2m
-make-map (output map file name)
2m
2m
-make-mapc (output map file name)
2m
2m
-make-mapr (output map file name)
Generate a map that maps the specified domain onto
the appropriate canonical domain and write the map
matrix to file.
2m
2m
-cmul a (coefficient)
2m
2m
-cshift b (translate)
These options have affect if neither a column map file nor column
canonification is specified. If any of the first two options is used,
column indices i are mapped to a*i+b.
2m
2m
-rmul c (coefficient)
2m
2m
-rshift d (translate)
These options have affect if neither a row map file nor row
canonification is specified. If any of the first two options is used,
indices i are mapped to c*i+d.
2m
2m
-mul e (coefficient)
2m
2m
-shift f (translate)
If a map file is specified for a given domain, neither a map file nor
canonification is specified. If any of the first two options is used, the
indices i will be mapped to e*i+f.
2m
2m
-tab fname (read (and map) tab file)
This option requires the -map option. mcxmap will output the
mapped tab definition.
The matrix below has two canonical domains which are identical. It denotes a map of the canonical domain onto itself, in which node 0 is relabeled to 8, node 1 is relabeled to 5, et cetera.
(mclheader mcltype matrix dimensions 12x12 ) (mclmatrix begin 0 8 $ 1 5 $ 2 3 $ 3 2 $ 4 4 $ 5 6 $ 6 7 $ 7 9 $ 8 1 $ 9 10 $ 10 11 $ 11 0 $ )
Stijn van Dongen.
mcxio(5), mcx(1), mcxsubs(1), and mclfamily(7) for an overview of all the documentation and the utilities in the mcl family.