msolve - Man Page
Polynomial System Solving through Algebraic Methods
Description
msolve library for polynomial system solving, version 0.9.5 implemented by J. Berthomieu, C. Eder, M. Safey El Din
Basic call
./msolve -f [FILE1] -o [FILE2]
FILE1 and FILE2 are respectively the input and output files
Standard options
-f, --file FILE File name (mandatory).
-h, --help Prints this help. -o, --output-file FILE Name of output file. -t, --threads THR Number of threads to be used.
- 1
- one thread (default).
THR > 1 - THR threads.
-v, --verbose VERB Level of verbosity, 0 - 2
- 0 - no output (default).
1 - global information at the start and
- end of the computation.
2 - detailed output for each step of the
algorithm, e.g. matrix sizes, #pairs, ...
Input file format
- - first line: variables separated by a comma
(no comma at end of line)
- second line: characteristic of the field - next lines provide the polynomials (one per line),
separated by a comma (no comma after the last polynomial)
Output file format: When there is no solution in an algebraic closure of the base field [-1]: Where there are infinitely many solutions in an algebraic closure of the base field: [1, nvars, -1,[]]: Else: Over prime fields: a rational parametrization of the solutions When input coefficients are rational numbers: real solutions to the input system (see the -P flag to recover a parametrization of the solutions) See the msolve tutorial for more details (https://msolve.lip6.fr)
Advanced options:
-F FILE File name encoding parametrizations in binary format.
-g, --groebner-basis GB Prints reduced Groebner bases of input system for
- first prime characteristic w.r.t. grevlex ordering.
One element per line is printed, commata separated. 0 - Nothing is printed. (default) 1 - Leading ideal is printed. 2 - Full reduced Groebner basis is printed.
-c GEN Handling genericity: If the staircase is not generic
- enough, msolve can automatically try to fix this
situation via first trying a change of the order of variables and finally adding a random linear form with a new variable (smallest w.r.t. DRL) 0 - Nothing is done, msolve quits. 1 - Change order of variables. 2 - Change order of variables, then try adding a
random linear form. (default)
-d GEN Handling genericity further: If the staircase is not generic
- enough, msolve can still try to perform the full computation
by computing some normal forms and build the multiplication matrix, before fixing the situation via option -c 0 - No normal forms are computed. 1 - Few normal forms are computed. 2 - Some normal forms are computed. (default) 3 - Lots of normal forms are computed. 4 - All the normal forms are computed.
-C Use sparse-FGLM-col algorithm
- Given an input file with k polynomials
compute the quotient of the ideal generated by the first k-1 polynomials with respect to the kth polynomial.
-e, --elimination ELIM Define an elimination order: msolve supports two
- blocks of variables, each block using the degree reverse
lexicographical monomial order. ELIM has to be a number between 1 and #variables-1, and gives the number of eliminated variables. The basis with the first block of ELIM variables eliminated is then computed.
-I, --isolate ISOL Isolates the real roots (provided some univariate data)
- without re-computing a Gröbner basis
0 - no (default). 1 - yes.
-l, --linear-algebra LIN Linear algebra variant to be applied
- 1 - exact sparse / dense
2 - exact sparse (default)
- 42 - sparse / dense linearization (probabilistic)
44 - sparse linearization (probabilistic)
-m MPR Maximal number of pairs used per matrix.
0 - unlimited (default).
-n, --normal-form NF Given n input generators compute normal form of the last NF
- elements of the input w.r.t. a degree reverse lexicographical
Gröbner basis of the first (n - NF) input elements. At the moment this only works for prime field computations. Combining this option with the "-i" option assumes that the first (n - NF) elements generate already a degree reverse lexicographical Gröbner basis.
-p, --precision PRE Precision (in bits) on the output of real root isolation.
128 (default).
-P, --parametrization PAR Get also rational parametrization of solution set.
- 0 (default). For a detailed description of the output
format please see the general output data format section above.
-L, --lifting-mulmat LIF Controls lifting of multplication matrices over the rationals.
- 0 - no lifting (default).
1 - matrices are lifted. Warning: when activated, this option may cause higher memory consumption.
-q Q Uses signature-based algorithms.
- 0 - no (default).
1 - yes.
- --random-seed
SEED Random seed to initialize the pseudo random generator -1 - time(0) will be used (default) SEED ≥ 0 - use at your own risks;
- this is intended for developers and
debug purposes only
-r, --reduce-gb RED Reduce Groebner basis.
- 0 - no.
1 - yes (default).
-s HTS Initial hash table size given
- as power of two.
17 (default).
-S Use f4sat saturation algorithm
- Given an input file with k polynomials
compute the saturation of the ideal generated by the first k-1 polynomials with respect to the kth polynomial. Note: At the moment restricted to 32 bit prime fields.
-u UHT Number of steps after which the
- hash table is newly generated.
0 - no update (default).
-V, --version Prints msolve's version
msolve library for polynomial system solving, version 0.9.5 implemented by J. Berthomieu, C. Eder, M. Safey El Din
Basic call
./msolve -f [FILE1] -o [FILE2]
FILE1 and FILE2 are respectively the input and output files
Standard options
-f, --file FILE File name (mandatory).
-h, --help Prints this help. -o, --output-file FILE Name of output file. -t, --threads THR Number of threads to be used.
- 1
- one thread (default).
THR > 1 - THR threads.
-v, --verbose VERB Level of verbosity, 0 - 2
- 0 - no output (default).
1 - global information at the start and
- end of the computation.
2 - detailed output for each step of the
algorithm, e.g. matrix sizes, #pairs, ...
Input file format
- - first line: variables separated by a comma
(no comma at end of line)
- second line: characteristic of the field - next lines provide the polynomials (one per line),
separated by a comma (no comma after the last polynomial)
Output file format: When there is no solution in an algebraic closure of the base field [-1]: Where there are infinitely many solutions in an algebraic closure of the base field: [1, nvars, -1,[]]: Else: Over prime fields: a rational parametrization of the solutions When input coefficients are rational numbers: real solutions to the input system (see the -P flag to recover a parametrization of the solutions) See the msolve tutorial for more details (https://msolve.lip6.fr)
Advanced options:
-F FILE File name encoding parametrizations in binary format.
-g, --groebner-basis GB Prints reduced Groebner bases of input system for
- first prime characteristic w.r.t. grevlex ordering.
One element per line is printed, commata separated. 0 - Nothing is printed. (default) 1 - Leading ideal is printed. 2 - Full reduced Groebner basis is printed.
-c GEN Handling genericity: If the staircase is not generic
- enough, msolve can automatically try to fix this
situation via first trying a change of the order of variables and finally adding a random linear form with a new variable (smallest w.r.t. DRL) 0 - Nothing is done, msolve quits. 1 - Change order of variables. 2 - Change order of variables, then try adding a
random linear form. (default)
-d GEN Handling genericity further: If the staircase is not generic
- enough, msolve can still try to perform the full computation
by computing some normal forms and build the multiplication matrix, before fixing the situation via option -c 0 - No normal forms are computed. 1 - Few normal forms are computed. 2 - Some normal forms are computed. (default) 3 - Lots of normal forms are computed. 4 - All the normal forms are computed.
-C Use sparse-FGLM-col algorithm
- Given an input file with k polynomials
compute the quotient of the ideal generated by the first k-1 polynomials with respect to the kth polynomial.
-e, --elimination ELIM Define an elimination order: msolve supports two
- blocks of variables, each block using the degree reverse
lexicographical monomial order. ELIM has to be a number between 1 and #variables-1, and gives the number of eliminated variables. The basis with the first block of ELIM variables eliminated is then computed.
-I, --isolate ISOL Isolates the real roots (provided some univariate data)
- without re-computing a Gröbner basis
0 - no (default). 1 - yes.
-l, --linear-algebra LIN Linear algebra variant to be applied
- 1 - exact sparse / dense
2 - exact sparse (default)
- 42 - sparse / dense linearization (probabilistic)
44 - sparse linearization (probabilistic)
-m MPR Maximal number of pairs used per matrix.
0 - unlimited (default).
-n, --normal-form NF Given n input generators compute normal form of the last NF
- elements of the input w.r.t. a degree reverse lexicographical
Gröbner basis of the first (n - NF) input elements. At the moment this only works for prime field computations. Combining this option with the "-i" option assumes that the first (n - NF) elements generate already a degree reverse lexicographical Gröbner basis.
-p, --precision PRE Precision (in bits) on the output of real root isolation.
128 (default).
-P, --parametrization PAR Get also rational parametrization of solution set.
- 0 (default). For a detailed description of the output
format please see the general output data format section above.
-L, --lifting-mulmat LIF Controls lifting of multplication matrices over the rationals.
- 0 - no lifting (default).
1 - matrices are lifted. Warning: when activated, this option may cause higher memory consumption.
-q Q Uses signature-based algorithms.
- 0 - no (default).
1 - yes.
- --random-seed
SEED Random seed to initialize the pseudo random generator -1 - time(0) will be used (default) SEED ≥ 0 - use at your own risks;
- this is intended for developers and
debug purposes only
-r, --reduce-gb RED Reduce Groebner basis.
- 0 - no.
1 - yes (default).
-s HTS Initial hash table size given
- as power of two.
17 (default).
-S Use f4sat saturation algorithm
- Given an input file with k polynomials
compute the saturation of the ideal generated by the first k-1 polynomials with respect to the kth polynomial. Note: At the moment restricted to 32 bit prime fields.
-u UHT Number of steps after which the
- hash table is newly generated.
0 - no update (default).
-V, --version Prints msolve's version