|
D.4.14.1 locNormal
Procedure from library locnormal.lib (see locnormal_lib).
- Usage:
- locNormal(I [,options]); I = prime ideal, options = list of options.
Optional parameters in list options (can be entered in any order):
modular: use a modular approach for the local computations. The number of primes is
increased one at a time, starting with 2 primes, until the result stabelizes.
noVerificication: if the modular approach is used, the result will not be verified.
- Assume:
- I is a prime ideal (the algorithm will also work for radical ideals as long as the
normal command does not detect that the ideal under consideration is not prime).
- Return:
- a list of an ideal U and a universal denominator d such that U/d is the normalization.
- Remarks:
- We use the local-to-global algorithm given in [1] to compute the normalization of
A = R/I, where R is the basering.
The idea is to stratify the singular locus of A, apply the normalization algorithm
given in [2] locally at each stratum, and put the local results together.
If the option modular is given, the result is returned as a probabilistic result
or verified, depending on whether the option noVerificication is used or not.
The normalization of A is represented as an R-module by returning a list of U and d,
where U is an ideal of A and d is an element of A such that U/d is the normalization of A.
In fact, U and d are returned as an ideal and a polynomial of the base ring R.
- References:
- [1] Janko Boehm, Wolfram Decker, Santiago Laplagne, Gerhard Pfister, Stefan Steidel,
Andreas Steenpass: Parallel algorithms for normalization, http://arxiv.org/abs/1110.4299, 2011.
[2] Gert-Martin Greuel, Santiago Laplagne, Frank Seelisch: Normalization of Rings,
Journal of Symbolic Computation 9 (2010), p. 887-901
Example:
| LIB "locnormal.lib";
ring R = 0,(x,y,z),dp;
int k = 4;
poly f = (x^(k+1)+y^(k+1)+z^(k+1))^2-4*(x^(k+1)*y^(k+1)+y^(k+1)*z^(k+1)+z^(k+1)*x^(k+1));
f = subst(f,z,3x-2y+1);
ring S = 0,(x,y),dp;
poly f = imap(R,f);
ideal i = f;
list L = locNormal(i);
| See also:
modnormal_lib;
normal_lib.
|