#### D.15.15.9 pfdMat

Procedure from library `pfd.lib` (see pfd_lib).

Usage:
  pfdMat(file[, dotest, ignore_nonlin, output_mode, parallelize]); file string, dotest,ignore_nonlin,output_mode,parallelize int

Purpose:
  apply `pfd` to all entries of a matrix of rational functions saved in a txt-file. The string `file` should be the [directory +] name of the file.
  The input file can either be a txt-file or an ssi-file created with `readInputTXT`. In case of a txt-file, the base ring has to match and the matrix has to be in the same format specified in readInputTXT. Also, txt-files that are bigger than 2 GB should be split as described for `readInputTXT` and a list of the filenames can be given as first argument instead.
  The result is saved in multiple txt- (and ssi-) files (see below) within the directory of the input file.
  Also a logfile is created, which protocols the memory used and the runtimes of `pfd` for each matrix entry in real-time.

  There are also 4 optional arguments:
  If `dotest` is nonzero, test the results with checkpfd:
  `dotest<0` (default): exact test (may be slow),
  `dotest>0`: do this amount of probabilistic tests for each entry (see checkpfd).

  If `ignore_nonlin` is nonzero (default), for each denominator, the nonlinear factors in the factorization are removed before applying `pfd` (and added back in in the output files).

  If `parallelize` is nonzero (default), the decompositions are calculated in parallel using parallel_lib.

  The parameter `output_mode` controls the output files created:
  `output_mode=1` (default): The result consists of two files: `<filename>_pfd_indexed.txt` contains the matrix of all decompositions (as list of lists separated by the characters "{", "}" and ",") where all the denominators are written in factorized form depending on irreducible factors `q1`, `q2`, ... . The file `<filename>_denominator_factors.txt` lists all the polynomials `q1`, `q2`, ... .
  `output_mode=2`: Additionally to mode 1, the file `<filename>_pfd.txt` is created, which also contains the matrix of decompositions but the factors in the denominators are written out.
  `output_mode=3`: Additionally to mode 2, the result and some intermediate results are saved as SINGULAR objects in ssi-files:
  `<filename>.ssi`: contains the result of `readInputTXT` in case a txt-file was given as input.
  `<filename>_factorized_denominators.ssi`: like the first file, but the denominators are saved in factorized form, that is as a list of an ideal of irreducible non constant polynomials and an intvec of exponents.
  `<filename>_linear_part.ssi` (only if `ignore_nonlin` is nonzero): like the previous file, but all the irreducible denominator factors are removed
  `<filename>_non_linear_factors.ssi` (only if `ignore_nonlin` is nonzero): a list of an ideal `p` generated by irreducible polynomials and a matrix (list of lists) of the nonlinear denominator factors of each entry of the input matrix. These are represented as lists of an intvec of indices `i` for which `p[i]` occurs as a (nonlinear) factor in the denominator and an intvec containing the exponents of those factors.
  `<filename>_pfd.ssi`: a list, where the first entry is an ideal `q` of denominator factors and the second entry is a matrix (as list of lists) containing the decompositions, each of which is a list of terms, where a term is represented as in the result of pfd by a list containing
  1) the numerator polynomial
  2) an intvec of indices `i` for which `q[i]` occurs as a factor in the denominator
  3) an intvec containing the exponents of those irreducible factors.
  IMPORTANT: If `ignore_nonlin` is nonzero, this file contains the decompositions of the entries of the matrix in `<filename>_linear_part.ssi`. Thus the nonlinear factors, are NOT contained in this file.
  `output_mode=4`: Additionally to mode 3, the direct output of each call of `pfd` is saved in separate ssi-files called `pfd_results_i_j.ssi` where i,j are the matrix indices. This creates a lot of files, but may be useful in case the algorithm does not terminate in time for every matrix entry. Other than the files created in mode 1-3, these files are saved in the current directory, rather than the directory of the input file.

See also: checkpfd; checkpfdMat; pfd; readInputTXT.

User manual for Singular version 4.4.1, 2025, generated by texi2html.