[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Lifting fiber

This package provides functions for manipulating lifting libers. Lifting fibers encode equidimensional algebraic varieties.
Before all, a BlackboxPolynomialAlgebra domain must have been built this way:

E,x[1],...,x[n]:= BlackboxPolynomialAlgebra(F,n);

where F is either the field of the rational numbers or a prime field. Note that it may work with other fields as soon as the characteristic is big enough and a factorization function exists in F[T]. A fiber encoding an r-equidimensional algebraic variety V is the following record: Let y be the new variables defined by x=M.y+b, the following properties hold: We say the fiber is isolated if V is an isolated subvariety in the set of roots of the system F=0. We say that the magic point is a lifting point if it satisfies the smoothess hypothesis of the fast deflation algorithm. The parametrization of is in the Kronecker presentation if p[l]=q'[l] for all l and is in the Shape-lemma if p[l]=1 for all l.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Creation of lifting fibers

intrinsic: LiftingFiber () -> Cat
It returns the record format used to store lifting fibers.
intrinsic: WholeSpaceLF (E, K: GenericLinearChangeOfVariables:=true) -> .
It returns a lifting fiber of the ambient space with resolution field K.
Parameter: If GenericLinearChangeOfVariables is set then a generic affine change of the coordinates is performed.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Getting properties

lf denotes a lifting fiber and llf a sequence of lifting fibers.

intrinsic: CodimensionLF (lf::Rec) -> RngIntElt
It returns the codimension of the variety encoded by lf.
intrinsic: CodimensionLF (llf::[]) -> RngIntElt
It returns the minimum of the codimensions of the elements of llf.
Error condition: llf must not be empty.
intrinsic: DegreeLF (lf::Rec) -> RngIntElt
It returns the degree of the variety represented by lf.
intrinsic: DegreeLF (llf::[]) -> RngIntElt
It returns the sum of the degrees of the element of llf.
intrinsic: DimensionLF (lf) -> RngIntElt
See RankLF.
intrinsic: HasKroneckerParametrizationLF (lf::Rec) -> BoolElt
It returns true if lf has a Kronecker parametrization.
intrinsic: HasKroneckerParametrizationLF (llf::[]) -> BoolElt
It returns true if all the elements of llf have a Kronecker parametrization.
intrinsic: HasShapeLemmaParametrizationLF (lf::Rec) -> BoolElt
It returns true if lf has a shape lemma parametrization.
intrinsic: HasShapeLemmaParametrizationLF (llf::[]) -> BoolElt
It returns true if all the elements of lf have a shape lemma parametrization.
intrinsic: IsEmptyLF (lf::Rec) -> BoolElt
It returns a boolean telling whether the variety represented by lf is empty or not.
intrinsic: IsEmptyLF (llf::[]) -> BoolElt
It returns a boolean telling whether all the elements of llf represent the empty variety or not.
intrinsic: IsMultipleLF (lf::Rec) -> BoolElt
It returns a boolean telling whether lf is a multiple component or not.
intrinsic: IsWholeSpaceLF (lf::Rec) -> BoolElt
It returns whether lf represents the ambient space or not.
intrinsic: IsWholeSpaceLF (llf::[]) -> BoolElt
It returns whether at least one of the elements of llf represents the ambient space or not.
intrinsic: NumberOfVariablesLF (lf::Rec) -> RngIntElt
It returns the dimension of the ambient space in which lf lives.
intrinsic: NumberOfFactorsLF (lf::Rec) -> RngIntElt
It returns the number of factors lf, that is the cardinal of lf`MinimalPolynomial.
intrinsic: ParentBbpLF (lf::Rec) -> Cat
It returns the Multivariate Polynomial Algebra associated to the blackbox polynomial domain of the lifting system of lf.
intrinsic: RankLF (lf::Rec) -> RngIntElt
It returns the dimension of the variety encoded by lf.
intrinsic: RankLF (llf::[]) -> RngIntElt
It returns the maximum of the dimensions of the elements of llf.
Error condition: llf must not be empty.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Basic operations

lf denotes a lifting fiber and llf a sequence of lifting fibers.

intrinsic: ChangeResolutionFieldLF (~lf::Rec, K)
If there exists a coercion from lf`ResolutionField to K, then it modifies lf to be a resolution over K.
Error condition: There must exist a coercion from lf`ResolutionField to K.
intrinsic: ChangeResolutionFieldLF (~llf::[], K)
It iterates ChangeResolutionFieldLF over llf.
intrinsic: ChangeResolutionFieldLF (~lf::Rec, K, f)
Applies f on lf`ResolutionField to coerce it to K via f, so that in return lf is a resolution over K.
intrinsic: ChangeResolutionFieldLF (~llf::[], K, f)
It iterates ChangeResolutionFieldLF over llf.
intrinsic: MakeKroneckerParametrizationLF (~lf::Rec)
lf is changed to a Kronecker parametrization.
intrinsic: MakeKroneckerParametrizationLF (~llf::[])
It iterates MakeKroneckerParametrizationLF over each element of llf.
intrinsic: MakeMonicLF (~lf::Rec)
It makes lf`MinimalPolynomial monic.
intrinsic: MakeMonicLF (~llf::[])
It iterates MakeMonicLF over each element of llf.
intrinsic: MakeShapeLemmaParametrizationLF (~lf::Rec)
It changes the parametrization of lf into a Shape Lemma form.
Error condition: If lf`Denominator is not invertible modulo lf`MinimalPolynomial. then lf contains a string in return.
intrinsic: MakeShapeLemmaParametrizationLF (~llf::[])
It iterates MakeShapeLemmaParametrizationLF over each element of llf.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Changes of fibers

intrinsic: ChangeAlgebraicVariablesLF (~lf::Rec, N, c)
Let M and b be lf`ChangeOfVariables, such that x=My+b. The procedure changes the coordinates of lf in the following way: M:=M.(Idr|N) and b:=M.(0|c) + b. This change of algebraic variables is applied in consequence to the parametrization and the primitive element so that lf remains consistent.
Error condition: The procedure raises an error if N is not invertible.
intrinsic: ChangeAlgebraicVariablesLF (~llf::[], N, c)
It applies ChangeAlgebraicVariablesLF to each element of llf.
intrinsic: ChangeBackAlgebraicVariablesLF (~lf::Rec)
In return lf has the identity for the part of the change of variables corresponding to the algebraic variables.
intrinsic: ChangeBackAlgebraicVariablesLF (~llf::[])
It applies ChangeBackAlgebraicVariablesLF to each element of llf.
intrinsic: ChangeBackFreeVariablesLF (~lf::Rec)
In return lf has the identity in the part of its change of variables corresponding to the free variables.
intrinsic: ChangeBackFreeVariablesLF (~llf::[])
It iterates ChangeBackFreeVariablesLF on each element of llf.
intrinsic: ChangePrimitiveElementLF (~lf::Rec, u)
It Changes lf`PrimitiveElement to u, if it is actually a primitive element.
Error condition: The procedure returns "Bad primitive element" in lf if u is not a primitive element.
intrinsic: ChangePrimitiveElementLF (~llf::[], u)
It applies ChangePrimitiveElementLF to each element of llf.
intrinsic: TranslateKthFreeVariableToZeroLF (~lf::Rec, k)
Let y[k] be the kth free variable of lf, the procedure modifies lf`ChangeOfVariables replacing y[k] by y[k]+lf`MagicPoint[k]. Then lf`MagicPoint[k] is set to 0.
intrinsic: TranslateKthFreeVariableToZeroLF (~llf::[], k)
It iterates TranslateKthFreeVariableToZeroLF on each element of llf.
intrinsic: TranslateAllFreeVariablesToZeroLF (~lf::Rec)
It applies TranslateKthFreeVariableToZeroLF to all the free variables of lf.
intrinsic: TranslateAllFreeVariablesToZeroLF (~llf::[])
It applies TranslateAllFreeVariablesToZeroLF to each element of llf.
intrinsic: TranslateLastFreeVariableToZeroLF (~lf::Rec)
It applies TranslateKthFreeVariableToZeroLF to all the last free variables of lf.
intrinsic: TranslateLastFreeVariableToZeroLF (~llf::[])
It applies TranslateLastFreeVariableToZeroLF to each element of llf.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 Evaluation

lf denotes a lifting fiber and llf a sequence of lifting fibers.

intrinsic: EvaluateLF (lf::Rec, f::Rec, x) -> .
intrinsic: EvaluateLF (lf::Rec, f::[Rec], x::[]) -> .
It returns the sequence of the values of f evaluated on the point x.
Error conditions:
intrinsic: VerifyLF (lf::Rec: Strategy:="Probabilistic") -> BoolElt
It returns true iff the parametrization of lf satisfies its lifting system modulo its MinimalPolynomial.
Parameter: Strategy, string:
intrinsic: VerifyLF (llf::[]: Strategy:="Probabilistic") -> BoolElt
It tells whether all the elements of llf satisfies their lifting systems.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.6 Splittings

intrinsic: SplitLF (lf::Rec, f::[Rec]) -> Rec,Rec
intrinsic: SplitLF (lf::Rec, f::Rec) -> Rec,Rec
It returns two fibers lfz, lfnz. The first one represents the points of lf satisfying f=0 and the second one the other points.
intrinsic: CleanLF (~lf::Rec, ineqs::Rec)
Removes the points of lf satisfying ineqs=0.
intrinsic: CleanLF (~lf::Rec, ineqs::[])
Removes the points of lf satisfying ineqs=0.
intrinsic: CleanLF (~llf::[], ineqs)
It iterates CleanLF over each element of llf.
intrinsic: FactorizationLF (~lf::Rec)
lf is factorized.
Error condition: The parametrization must be shape lemma.
intrinsic: CombineLF (~lf::Rec: Parametrization:="Unknown")
It combines the factors of lf. The parameter can be "Unknown" (default), "ShapeLemma" or "Kronecker" according to the properties known about lf.
intrinsic: MergeLF (llf::[]) -> Rec
It merges the elements of llf into one.
Error conditions:


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7 Printing

intrinsic: PrintLF (lf::Rec)
It prints lf on stdout.
intrinsic: PrintLF (llf::[])
Prints llf on stdout.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Grégoire Lecerf on June, 25 2002 using texi2html