decomposition¶
Initialize self. See help(type(self)) for accurate signature.
- sage_acsv.decomposition.compute_algebraic_dependence_decomposition(R, G, H)[source]¶
Computes an algebraic dependence decomposition of the rational function \(G/H\).
An algebraic dependence decomposition for \(G/H\) is a sum of rational functions of the form \(G/H = \sum_{k}\frac{p_k}{q_{k_1}^{e_{k_1}}\dots q_{k_i}^{e_{k_i}}\) such that \(q_{k_1},\dots,q_{k_i}\) are algebraically independent factors of \(H\).
INPUT: *
R– APolynomialRing. *G, H– Polynomials representing the rational function \(G/H\).OUTPUT:
A list of tuples \((G_i,H_i)\) where \(G_i, H_i\) are in \(R\).
EXAMPLES:
sage: from sage_acsv.decomposition import compute_algebraic_dependence_decomposition sage: R.<x,y> = PolynomialRing(QQ, 2) sage: compute_algebraic_dependence_decomposition(R, 1, x^2*(x*y+1)*y) [(2, x^2*y), (-x*y - 1, x^2*y), (y, x*y + 1)]
- sage_acsv.decomposition.compute_cohomology_decomposition(R, G, H)[source]¶
Computes a cohomology decomposition of the rational function \(G/H\).
Given a a rational function \(G/H\), a cohomology decomposition is a rational function \(G'/H'\) over the same ring that is de Rham cohomologous to \(G/H\) and whose denominator contains no repeated factor.
INPUT: *
R– APolynomialRing. *G, H– Polynomials representing the rational function \(G/H\).OUTPUT:
A tuple
(G',H')whereG_i, H_iare inRandH'is square-freeEXAMPLES:
sage: from sage_acsv.decomposition import compute_cohomology_decomposition sage: R.<x,y> = PolynomialRing(QQ, 2) sage: compute_cohomology_decomposition(R, 1, (x*y-1)*(x^2+y^2-1)^2) (-4/3*x^2*y^2 + 4/3*x*y + 1/3, x^3*y + x*y^3 - x^2 - x*y - y^2 + 1)
- sage_acsv.decomposition.compute_leinartas_decomposition(R, G, H)[source]¶
Computes a Leinartas decomposition of the rational function \(G/H\).
An Leinartas decomposition for \(G/H\) is a sum of rational functions of the form \(G/H = \sum_{k}\frac{p_k}{q_{k_1}^{e_{k_1}}\dots q_{k_i}^{e_{k_i}}\) such that \(q_{k_1},\dots,q_{k_i}\) are algebraically independent factors of \(H\) that do not generate the ideal \(R\).
INPUT: *
R– APolynomialRing. *G, H– Polynomials representing the rational function \(G/H\).OUTPUT:
A list of tuples
(G_i,H_i)whereG_i, H_iare inR.EXAMPLES:
sage: from sage_acsv.decomposition import compute_leinartas_decomposition sage: R.<x,y,z> = PolynomialRing(QQ, 3) sage: compute_leinartas_decomposition(R, 1, (x*y*z*(x*y+z))) [(1, x*y*z^2), (-1, x*y*z^2 + z^3)]
- sage_acsv.decomposition.compute_nullstellensatz_decomposition(R, G, H)[source]¶
Computes a Nullstellensatz decomposition of the rational function \(G/H\).
A Nullstellensatz decomposition for \(G/H\) is a sum of rational functions of the form \(G/H = \sum_{k}\frac{p_k}{q_{k_1}^{e_{k_1}}\dots q_{k_i}^{e_{k_i}}\) such that \(q_{k_1}, ..., q_{k_i}\) are factors of \(H\) that do not generate the ideal \(R\).
INPUT: *
R– APolynomialRing. *G, H– Polynomials representing the rational function \(G/H\).OUTPUT:
A list of tuples
(G_i,H_i)whereG_i, H_iare inR.EXAMPLES:
sage: from sage_acsv.decomposition import compute_nullstellensatz_decomposition sage: R.<x,y> = PolynomialRing(QQ, 2) sage: compute_nullstellensatz_decomposition(R, 1, x*y*(x+1)) [(-1, x*y + y), (1, x*y)]
- sage_acsv.decomposition.get_algebraic_independence_certificate(R, Hs, multiplicities)[source]¶
Finds an algebraic independence certificate of a list
Hsof polynomials.An algebraic independence ceritificate is an annhilating polynomial of \(Hs\) over the same base ring.
INPUT: *
R– APolynomialRing. *Hs– A list of square-free polynomials inR. *multiplicities– A list of integers representing powers ofHs.OUTPUT:
A list of polynomials in variables
T_1,...,T_mover the same base ring asR, wheremis the length ofHs.EXAMPLES:
sage: from sage_acsv.decomposition import get_algebraic_independence_certificate sage: R.<x,y> = PolynomialRing(QQ, 2) sage: get_algebraic_independence_certificate(R, [x, x*y+1,y], [2,1,3]) Ideal (1 - 6*T1 + 15*T1^2 - 20*T1^3 + 15*T1^4 - T0^3*T2^2 - 6*T1^5 + T1^6) of Multivariate Polynomial Ring in T0, T1, T2 over Rational Field
- sage_acsv.decomposition.get_nullstellensatz_certificate(R, Hs, multiplicities)[source]¶
Finds a Nullstellensatz ceritificate of a set of polynomials, or None if one doesn’t exist.
A Nullstellensatz ceritificate exists for any set of polynomials \(H_1,\dots,H_s\) with no common zeroes. Equivalently, \(1\) is in the ideal generated by \(H_1,\dots,H_s\). It is a list of polynomials \(p_1,\dots,p_s\) such that \(p_1H_1 + \dots + p_sH_s = 1\).
INPUT: *
R– APolynomialRing. *Hs– A list of square-free polynomials inR. *multiplicities– A list of integers representing powers ofHs.OUTPUT:
A list of polynomials in
R.EXAMPLES:
sage: from sage_acsv.decomposition import get_nullstellensatz_certificate sage: R.<x,y> = PolynomialRing(QQ, 2) sage: get_nullstellensatz_certificate(R, [1-x,1-y,1-x-y], [1,1,2]) [x + 1, 2*x + y - 1, 1]