Your company here — click to reach over 10,000 unique daily visitors

# msolve - Man Page

Polynomial System Solving through Algebraic Methods

## Description

msolve library for polynomial system solving, version 0.6.7 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 name (mandatory).

-h       Prints this help. -o FILE  Name of output file. -t THR   Number of threads to be used.

Default: 1.

-v n     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 - second line: characteristic of the field - next lines provide the polynomials (one per line),

separated by a comma (no comma after the final 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)

-F FILE  File name encoding parametrizations in binary format.

-g 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 ELIM  Define an elimination order: msolve supports two

blocks, each block using degree reverse lexicographical monomial order. ELIM has to be a number between 1 and #variables-1. The basis the first block eliminated is then computed.

-I       Isolates the real roots (provided some univariate data)

without re-computing a Gröbner basis Default: 0 (no).

### -l 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.

Default: 0 (unlimited).

-n 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 irst (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 PRE   Precision of the real root isolation.

Default is 32.

-P PAR   Get also rational parametrization of solution set.

Default is 0. For a detailed description of the output format please see the general output data format section above.

-L LIF   Controls lifting of multplication matrices over the rationals.

Default is 0 (no lifting). Matrices are lifted when LIF is 1. Warning: when activated, this option may cause higher memory consumption.

-q Q     Uses signature-based algorithms.

Default: 0 (no).

-r RED   Reduce Groebner basis.

Default: 1 (yes).

-s HTS   Initial hash table size given

as power of two. Default: 17.

### -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.

-u UHT   Number of steps after which the

hash table is newly generated. Default: 0, i.e. no update.

-V       Prints msolve's version

msolve library for polynomial system solving, version 0.6.7 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 name (mandatory).

-h       Prints this help. -o FILE  Name of output file. -t THR   Number of threads to be used.

Default: 1.

-v n     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 - second line: characteristic of the field - next lines provide the polynomials (one per line),

separated by a comma (no comma after the final 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)

-F FILE  File name encoding parametrizations in binary format.

-g 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 ELIM  Define an elimination order: msolve supports two

blocks, each block using degree reverse lexicographical monomial order. ELIM has to be a number between 1 and #variables-1. The basis the first block eliminated is then computed.

-I       Isolates the real roots (provided some univariate data)

without re-computing a Gröbner basis Default: 0 (no).

### -l 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.

Default: 0 (unlimited).

-n 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 irst (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 PRE   Precision of the real root isolation.

Default is 32.

-P PAR   Get also rational parametrization of solution set.

Default is 0. For a detailed description of the output format please see the general output data format section above.

-L LIF   Controls lifting of multplication matrices over the rationals.

Default is 0 (no lifting). Matrices are lifted when LIF is 1. Warning: when activated, this option may cause higher memory consumption.

-q Q     Uses signature-based algorithms.

Default: 0 (no).

-r RED   Reduce Groebner basis.

Default: 1 (yes).

-s HTS   Initial hash table size given

as power of two. Default: 17.

### -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.

-u UHT   Number of steps after which the

hash table is newly generated. Default: 0, i.e. no update.

-V       Prints msolve's version

July 2024