|
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.)
-
if only NTL is used, extgcd has a limit on the coefficients:
NTL_MAX_FFTPRIMES
// At the current setting of 20000, on 64-bit machines with 50-bit
// FFT primes, this allows for polynomials with 20*50/2 = 500K-bit
// coefficients, while the table itself takes 160KB.
-
the number of elements in GF(p,n) must be less than 65536 (2^16)
-
the (weighted) degree of a monomial must be less than 2147483648 (2^31)
-
the rank of any free module
must be less than 2147483648 (2^31)
-
the maximal allowed exponent of a ring variable
depends on the ordering of the ring and is at least 32767 (2^15-1).
See also Monomial orderings for setting other limits.
-
the precision of long floating point numbers (for ground field
real )
must be less than 32768 (2^15)
-
integers (of type
int ) have the limited range
from -2147483648 to 2147483647 (-2^31..2^31-1)
-
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 .
|