Home Online Manual
Top
Back: Tricks and pitfalls
Forward: System dependent limitations
FastBack:
FastForward:
Up: Tricks and pitfalls
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

6.1 Limitations

SINGULAR has the following limitations:

  • the characteristic of a prime field must be less than or equal to 2147483647 (2^31)
    (the characteristic of a prime field in the factory routines must be less than 536870912 (2^29))
    (the characteristic of a prime field in the NTL routines must be less than NTL_SP_BOUND (2^30) on 32bit machines - This is always the case since currently, only factory uses NTL.)
  • the number of elements in GF(p,n) must be less than 65536
  • the (weighted) degree of a monomial must be less or equal than 2147483647
  • the rank of any free module must be less or equal than 2147483647
  • the maximal allowed exponent of a ring variable depends on the ordering of the ring and is at least 32767. See also Monomial orderings for setting other limits.
  • the precision of long floating point numbers (for ground field real) must be less or equal than 32767
  • integers (of type int) have the limited range from -2147483648 to 2147483647
  • floating point numbers (type number from field real) have a limited range which is machine dependent. A typical range is -1.0e-38 to 1.0e+38. The string representation of overflow and underflow is machine dependent, as well. For example "Inf" on Linux, or "+.+00e+00" on HPUX.
    Their input syntax is given by scanf, but must start with a digit.
  • floating point numbers (type number from field real with a precision p larger then 3) use internally mpf_set_default_prec(3.5*p+1).
    Their input syntax is given by mpf_set_str from GMP, but must start with a digit.
  • the length of an identifier is unlimited but listvar displays only the first 20 characters
  • statements may not contain more than 10000 tokens
  • tokens (i.e. strings, numbers, ...) may not be longer than 16382 characters
  • All input to SINGULAR must be 7-bit clean, i.e. special characters like the the German Umlaute (ä, ö, etc.), or the French accent characters may neither appear as input to SINGULAR, nor in libraries or procedure definitions.
  • vspace, used in system("verifyGB",I) and farey can not use more than MAX_PROCESS (64) cpus. This limit can be changed in the source file kernel/oswrapper/vspace.h.