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

Advanced options:

**-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)

Advanced options:

**-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