Removes duplicate matrices from an input.
qvtrim -cegklrz [-s size] [-m matrix] [-i input] [-o output]
-c Only show matrices with different oriented cycles
-e Only show matrices which are not equivalent up to permutation
-g Only show matrices with different underlying graphs
-k Only show matrices which are mutation-infinite
-r Only show matrices not equivalent up to sink-source mutations
-l Only show matrices from different mutation classes
-s Only show matrices of the specified size
-z Only show matrices which do not contain an all zero row
-m Specify the matrix to compare against
-i Specify input file of matrices, if absent stdin is used.
-o Specify output or use stdout
The cegklrsz
options specify how matrixes are trimmed from the input.
-c
Check the oriented cycles in the quiver. If a quiver contains the same combination of cycles as one previously seen then it will not be output.-e
Check whether the quiver is a permutation of one already seen.-g
Check whether the quiver has a different underlying graph. The graph is the one obtained by forgetting the orientations on the edges.-k
Check whether the quiver is mutation-infinite.-l
Check whether the quiver belongs to a different mutation class. This option will lead to a single representative of each class being output.-r
Check whether the quiver is a sequence of sink-source mutations form any quiver seen before.-s size
Check whether the quiver hassize
vertices.-z
Check whether the matrix contains a zero row and only output it if it does not. This ensure that the output only contains matrices without zero rows.
The -m
option specifies a matrix M
to compare the input against. This must be
used in conjunction with one of the above options, which get altered slightly to
the following.
-c
Only output the quivers with the same cycles asM
.-e
Only output quivers which are permutations ofM
.-g
Only output quivers which have the same underlying graph asM
.-l
Only output quivers mutation-equivalent toM
.-r
Only output quivers which are sink-source mutations ofM
.-s
Only output quivers which are the same size asM
.
The input option specifies a file to read the matrices from. If left blank then stdin is used.
The output option specifies a file to write the output to. If left blank then stdout is used.
qvtrim -z -i in_file
Read all matrices from in_file
and write all which do not contain zero rows to
stdout.
qvtrim -e -m "{ { 0 1 0 } { -1 0 1 } { 0 -1 0 } }"
Read matrices from stdin and output to stdout only those which are permutations of the specified quiver with 3 vertices.
qvtrim -s 10 -i in_file -o out_file
Read all matrices from in_file
and output to out_file
only those with 10
rows and columns.
Run make
to compile qvtrim
.
qvtrim
requires the following libraries and their headers to be
installed and accessible by the compiler:
The Makefile can be modified to include the install locations of these
libraries, by changing the INCLUDES
and LFLAGS
variables.
Copyright 2014-2015 John Lawson
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.