Extra Algebra

Summary
Extra Algebra
Functions
PolynomialSaturationSaturates an ideal by a polynomial.
SizeReductionReduces the number of polynomials.
IsHullPrimeTest whether the maximal dimension component is prime.
IsHullRadicalTest whether the maximal dimension component is radical.
IsProjectionProperSufficient condition for proper projection.
PropernessDefectComputes the non properness set of a projection.
SortPolynomialsSort a list of polynomial and trigonometric expressions
FactorSystemFactorize partially a system
HypersurfacesFactorizes components of codimension 1.
RandomSectionCuts a system with a random hypersurface
ToLatexPrint the latex commands generating an expression on multiple lines.

Functions

PolynomialSaturation

PolynomialSaturation := proc (sys ::list(algebraic),  
p ::algebraic,  
vars ::list(name) := NULL,
char ::integer := 0)

Saturates an ideal by a polynomial.

Parameters

syslist of polynomials: the generators of the ideal
ppolynomial with rational coefficients: the saturating polynomial
vars (optional)list of names: the variables in sys and p
char (optional)integer: characteristic of the base field default value: 0
verbose (optional)”verb”=true or “verb”=false: verbose support default value: “verb”=false

Returns

A list of polynomials: the generators of sys saturated by p.

Example

> PolynomialSaturation ( [x^2*y,z], x );
< [y,z]

SizeReduction

SizeReduction := proc (sys ::list(algebraic),  
vars ::list(name) := NULL)

Reduces the number of polynomials.

Parameters

syslist of polynomials: the system to reduce
vars (optional)list of names: the variables in sys

Returns

A list of polynomials: a subset of sys with the same zeroes

Example

> SizeReduction ([x,x]);
< [x]

IsHullPrime

IsHullPrime := proc (sys ::list(algebraic),  
vars ::list(name) := [ op(indets(sys,name)) ])

Test whether the maximal dimension component is prime.

Parameters

syslist of polynomials with rational coefficients: the system
vars (optional)list of names: variables of the system

Returns

A boolean: true means that the maximal component of the ideal generated by sys is prime, while false means that it may be not prime.

Example

> IsHullPrime ([x*z,y*z]);
< true

IsHullRadical

IsHullRadical := proc (sys ::list(algebraic),  
pars ::list(name) := NULL,
vars ::list(name) := [ op(indets(sys,name)) ])

Test whether the maximal dimension component is radical.

Parameters

syslist of polynomials with rational coefficients: the system
pars (optional)list of names: maximal independant set of variables
vars (optional)list of names: variables of the system

Returns

A boolean: true if the maximal component of the ideal generated by sys is radical, false otherwise.

Example

> IsHullPrime ([x*z,y*z]);
< true

IsProjectionProper

IsProjectionProper := proc (sys ::list(polynom),  
pars ::list(name),  
vars ::list(name) := [op(indets(sys, name) minus {op(pars)})])

Sufficient condition for proper projection.

Parameters

syslist of polynomials: the equations
parslist of names: the image of the projection;
vars (optional)list of names: the other variables default value: the variables in sys not in pars

Returns

The projection is proper if the function returns true, unknown otherwise.

PropernessDefect

PropernessDefect := proc (sys ::list(algebraic),  
pars ::list(name),  
vars ::list(name) := [op(indets(sys, name) minus {op(pars)})],
char ::integer := 0)

Computes the non properness set of a projection.

Parameters

syslist of polynomials: the equations
parslist of names: the image of the projection;
vars (optional)list of names: the other variables default value: the variables in sys not in pars
char (optional)integer: the characteristic of the coefficient field

Returns

A list of list of polynomials: each list is a list of polynomials in pars, the zeroes of which is a component of the properness defect set.

SortPolynomials

SortPolynomials := proc (sys ::list(algebraic),  
ordering ::{ShortMonomialOrder, list(name)} := NULL)

Sort a list of polynomial and trigonometric expressions

Parameters

syslist of polynomial or trigonometric expressions
ordering (optional)a monomial ordering given as a ShortMonomialOrder or a list of name (in this case, the lexicographic ordering is used)

Returns

The sorted list of polynomial and trigonometric expressions.

FactorSystem

FactorSystem := proc (sys ::{list(algebraic),list(list(algebraic))},  
{   
ordering ::list(name) := NULL
}   
   )

Factorize partially a system

Parameters

syslist or list of list of algebraic expressions; the system to factorize

Returns

A list of list of algebraic expressions: each list is a factor of the input system

Hypersurfaces

Hypersurfaces := proc (sys ::list(algebraic),  
{   
squarefree ::truefalse := true
}   
   )

Factorizes components of codimension 1.

Parameters

sysa list of polynomials: the sytem to decompose
squarefree = b (optional)b is a boolean: if b is true, then the multiplicities are saved; default value: true

Returns

A list of list of polynomials: the different components of the system.  The multiplicities of the different components are preserved.

Example

Hypersurfaces ([x^2*y, x*z]);

< [ [x], [ x^2*y, z] ]

RandomSection

RandomSection := proc (sys ::list(algebraic),  
vars ::list(name) := [op(indets(sys,name))])

Cuts a system with a random hypersurface

Parameters

syslist of algebraic expressions: the system
varslist of names: the variables to cut with

Returns

A list of polynomials: the cut system.

ToLatex

Print the latex commands generating an expression on multiple lines.

Parameters

aMathematical expression to print.
k (optional)integer, the width of the lines; default value: 0.
pos (optional)either ‘b’ or ‘t’: when ‘b’ (resp.  ‘t’), the surrounding text is alined with the bottom of the expression; default value: ‘t’.

Returns

A latex version of the formula exp spreading on multiple lines of width roughly equal to k, with the position pos.

PolynomialSaturation := proc (sys ::list(algebraic),  
p ::algebraic,  
vars ::list(name) := NULL,
char ::integer := 0)
Saturates an ideal by a polynomial.
SizeReduction := proc (sys ::list(algebraic),  
vars ::list(name) := NULL)
Reduces the number of polynomials.
IsHullPrime := proc (sys ::list(algebraic),  
vars ::list(name) := [ op(indets(sys,name)) ])
Test whether the maximal dimension component is prime.
IsHullRadical := proc (sys ::list(algebraic),  
pars ::list(name) := NULL,
vars ::list(name) := [ op(indets(sys,name)) ])
Test whether the maximal dimension component is radical.
IsProjectionProper := proc (sys ::list(polynom),  
pars ::list(name),  
vars ::list(name) := [op(indets(sys, name) minus {op(pars)})])
Sufficient condition for proper projection.
PropernessDefect := proc (sys ::list(algebraic),  
pars ::list(name),  
vars ::list(name) := [op(indets(sys, name) minus {op(pars)})],
char ::integer := 0)
Computes the non properness set of a projection.
SortPolynomials := proc (sys ::list(algebraic),  
ordering ::{ShortMonomialOrder, list(name)} := NULL)
Sort a list of polynomial and trigonometric expressions
FactorSystem := proc (sys ::{list(algebraic),list(list(algebraic))},  
{   
ordering ::list(name) := NULL
}   
   )
Factorize partially a system
Hypersurfaces := proc (sys ::list(algebraic),  
{   
squarefree ::truefalse := true
}   
   )
Factorizes components of codimension 1.
RandomSection := proc (sys ::list(algebraic),  
vars ::list(name) := [op(indets(sys,name))])
Cuts a system with a random hypersurface
Close