Skip to content
Snippets Groups Projects
Commit f1b19b45 authored by Krueger Jasmin's avatar Krueger Jasmin
Browse files

examples for validated Hensel version 1

parent a7774ee7
Branches
No related tags found
No related merge requests found
......@@ -19,6 +19,13 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
#########################
K = 20
fr = (y^5-1)*(y^5+2)+(x^2+4*x)^K
......@@ -32,3 +39,30 @@ hq = y_q^5 +2
R = 0.2439395990
hensel_test(fr,gr,hr,fq,gq,hq,7, R)
####################################
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
\ No newline at end of file
......@@ -19,6 +19,10 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
fr = (y^15-1)*(y^15+2)+x
......@@ -32,3 +36,29 @@ hq = y_q^15 +2
R = 0.2439395990
hensel_test(fr,gr,hr,fq,gq,hq,7, R)
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
\ No newline at end of file
......@@ -19,6 +19,11 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
K=20
fr = (y^15-1)*(y^15+2)+(x^2+4*x)^K
......@@ -32,3 +37,32 @@ hq = y_q^15 +2
R = 2.188565853
hensel_test(fr,gr,hr,fq,gq,hq,7, R)
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
\ No newline at end of file
......@@ -19,6 +19,11 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
K=20
fr = (y^30-1)*(y^30+2)+(x^2+4*x)^K + x
......@@ -32,3 +37,29 @@ hq = y_q^30 +2
R = 0.2439395990
hensel_test(fr,gr,hr,fq,gq,hq,7, R)
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
\ No newline at end of file
......@@ -99,10 +99,11 @@ hr = convert_polynomial(hq3,[RXY,RX],RDF)
fi = convert_polynomial(Fq, [RBXY,RBX], RR)
fr = convert_polynomial(Fq,[RXY,RX],RDF)
@time (gqstar, hqstar) = henseltruncate(32,Fq,gq3,hq3)
@time (gistar, histar) = henseltruncate(32,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(32,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(32,fr,gr,hr)
deg = 32
@time (gqstar, hqstar) = henseltruncate(deg,Fq,gq3,hq3)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
......@@ -110,3 +111,13 @@ norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
abs_coefficientwise!(Fq)
nonzeroMin(Fq)
nonzeroMin(-Fq)
abs_coefficientwise!(gq3)
nonzeroMin(gq3)
nonzeroMin(-gq3)
abs_coefficientwise!(hq3)
nonzeroMin(hq3)
nonzeroMin(-hq3)
\ No newline at end of file
......@@ -19,6 +19,11 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
#example 4
N = 14
#real functions
......@@ -71,3 +76,35 @@ BivPolMod!(fr-grstar4*hrstar4,128)
#error_with_R(gq,grstar4,fq)
hensel_test(fr, gr, hr, fq, gq, hq, 7, R)
####################################
N = 14
gq = (y_q - (x_q^2+2*x_q +5//1)^N)
hq = (y_q - (2*x_q^2 -7*x_q +1//1)^N)
fq = y_q^2 - (5^N+1)*y_q + (x_q^34 -x_q + 1)^N*(x_q^13 -27*x_q+5//1)^N
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
range_of_coefficients(gq)
range_of_coefficients(hq)
\ No newline at end of file
......@@ -19,6 +19,11 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
#############
##example 5##
#############
......@@ -63,3 +68,39 @@ plot_error_along_R!(gq, grstar, "gstar",0,0.575)
plot_error_along_R!(hq, hrstar, "hstar", 0, 0.575)
hensel_test(fr, gr, hr, fq, gq, hq, 7, R)
########################################
fq0 = 1 +2*x_q^2 +x_q^3
fq1 = x_q + 3* x_q^2
fq2 = -1 +2*x_q^2 + 2*x_q^3
fq = (3*fq0) + fq1*y_q + 3*fq2*y_q^2
gq = 3*(1-y_q)
hq = y_q +1
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
range_of_coefficients(gq)
range_of_coefficients(hq)
\ No newline at end of file
......@@ -19,6 +19,10 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
#############
##example 6##
......@@ -71,3 +75,36 @@ BivPolMod!(fr-grstar6*hrstar6,64)
plot_error_along_R(fq,grstar6*hrstar6, "n = 128", fq, 0, endInd, R)
hensel_test(fr, gr, hr, fq, gq, hq, 7, R)
#################################
N = 14
fq = (y_q- (x_q^24 + x_q^18 -x_q-1)^N)*(y_q- (x_q^2 + x_q + 7))
gq = y_q- 7
hq = y_q - 1
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
range_of_coefficients(gq)
range_of_coefficients(hq)
\ No newline at end of file
......@@ -19,6 +19,11 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
K = 20
fr = (3*y - (x-2)^K)*(y -(x^2+4)^K)
gr = 3*y - 2^K
......@@ -40,3 +45,35 @@ BivPolMod!(fr-gr*hr,1)
scatter!([R],[0], label = "R")
@time (grstar7,hrstar7) = henseltruncate(128, fr, gr, hr, sr, tr)
BivPolMod!(fr-grstar7*hrstar7, 128)
#########################################
K = 20
fq = (3*y_q - (x_q-2)^K)*(y_q -(x_q^2+4)^K)
gq = 3*y_q - 2^K
hq = y_q - 4^K
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
\ No newline at end of file
......@@ -19,6 +19,11 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
#Example 8:
K = 20
......@@ -74,3 +79,33 @@ plot!(rrange, map(u-> (error_measure1(hstarq,hstarr,u)), rrange), label = "hstar
#scatter!([R],[0])
hensel_test(fr, gr, hr, fq, gq, hq, 7, R)
######################################
K = 20
fq = (3*y_q - (x_q-2)^K)*(y_q -(x_q^2+4)^K)
gq = 3*y_q - 2^K
hq = y_q - 4^K
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
\ No newline at end of file
......@@ -19,6 +19,13 @@ CC = ComplexField()
CX, x_c = PolynomialRing(CC, "x")
CXY, y_c = PolynomialRing(CX, "y")
#real balls
RR = ArbField(53)
RBX, x_rb = PolynomialRing(RR, "x")
RBXY, y_rb = PolynomialRing(RBX, "y")
#############################
# (y^5-1)*(y^5+2)+x
fr = (y^5-1)*(y^5+2)+x
gr = y^5-1
......@@ -31,3 +38,33 @@ hq = y_q^5 +2
R = 2
hensel_test(fr,gr,hr,fq,gq,hq,7, R, 1.1)
#######################################
fq = (y_q^5-1)*(y_q^5+2)+x_q
gq = y_q^5 -1
hq = y_q^5 +2
BivPolMod!(gq,1)
BivPolMod!(hq,1)
gi = convert_polynomial(gq, [RBXY,RBX], RR)
gr = convert_polynomial(gq,[RXY,RX],RDF)
hi = convert_polynomial(hq, [RBXY,RBX], RR)
hr = convert_polynomial(hq,[RXY,RX],RDF)
fi = convert_polynomial(fq, [RBXY,RBX], RR)
fr = convert_polynomial(fq,[RXY,RX],RDF)
deg = 128
@time (gqstar, hqstar) = henseltruncate(deg,fq,gq,hq)
@time (gistar, histar) = henseltruncate(deg,fi,gi,hi)
@time (gvstar, hvstar) = henseltruncate(deg,fi,gi,hi,validation = true)#@time (grstar, hrstar) = henseltruncate(128,fr,gr,hr)
@time (grstar, hrstar) = henseltruncate(deg,fr,gr,hr)
norm1error(grstar,gqstar)
norm1error(hrstar,hqstar)
norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
\ No newline at end of file
deg_y(f) = , deg_x(f) =
deg_y(g) =
deg_y(h) =
coeffs(f) []
coeffs(g) []
coeffs(h) []
deg = 128:
erreur en g:
exact:
Intervalles:
Validation:
erreur en h:
exact:
Intervalles:
Validation:
Example 1:
g = y - 2.0*x^3 + 5.0*x^2 - 8.0*x + 5.0
......@@ -31,7 +56,9 @@ h = (y+1)^N
deg_y(f) = 28, deg_x(f) = 336
deg_y(g) = 14
deg_y(h) = 14
coeffs(F) [1, 4145547656250]
coeffs(g) [1, 3432]
coeffs(h) [1, 3432]
deg = 32
erreur en g:
......@@ -50,6 +77,7 @@ NaN
Validation:
NaN
Les erreurs pour les intervalles dans les deux façons restent NaN même si je baisse le degree. Seul pour deg = 2 nous avons des valeurs differentes de NaN, mais c'est parce que la solution est exacte et nous avons une erreur de 0.0 pour tous les cas.
Example 4:
......@@ -58,34 +86,170 @@ g = (y - (x^2+2*x +5)^N)
h = (y - (2*x^2 -7*x +1)^N)
f = y^2 - (5^N+1)*y + (x^34 -x + 1)^N*(x^13 -27*x+5)^N
deg_y(f) = 2, deg_x(f) = 658
deg_y(g) = 1
deg_y(h) = 1
coeffs(f) [14, 230180635092391873604047333]
coeffs(g) [6103515625]
coeffs(h) [1]
deg = 128:
erreur en g:
exact:
1.293739898291606770858891793699838129282023560849420700437389486878454288200745e-15
Intervalles:
2.758557443036354e-11
Validation:
3.1702512370277e-11
erreur en h:
exact:
1.293739898291606770858891793699838129282023560969537462060804378901182659050028e-15
Intervalles:
1.6024956315588576e-11
Validation:
1.8210579515364143e-11
Example 5:
f = (6.0*x^3 + 6.0*x^2 - 3.0)*y^2 + (3.0*x^2 + x)*y + 3.0*x^3 + 6.0*x^2 + 3.0
g = -3.0*y + 3.0
h = y + 1
deg_y(f) = 2, deg_x(f) = 3
deg_y(g) = 1
deg_y(h) = 1
coeffs(f) [3,6]
deg = 128:
erreur en g:
exact:
1.334219302660418279091624555201719942013031537053451681132887487172422628433282e-15
Intervalles:
1.9930654211464116e-6
Validation:
NaN
erreur en h:
exact:
2.16849989073389847585954346440662157539204235598712999324066093119070539311752e-16
Intervalles:
1.7266373126064373e-7
Validation:
NaN
Example 6:
f = (y- (x^24 + x^18 -x-1)^N)*(y- (x^2 + x + 7))
g = y- 7
h = y - 1
deg_y(f) = 2, deg_x(f) = 336
deg_y(g) = 1
deg_y(h) = 1
coeffs(f) [7, 33993960]
deg = 128:
erreur en g:
exact:
4.807093711891145280897901198791667651611210548554026688158420275044685176952527e+86
Intervalles:
NaN
Validation:
NaN
erreur en h:
exact:
2.457314018718598293500699001440523357460158888660413042455230935396546355616896e+79
Intervalles:
NaN
Validation:
NaN
Example 7:
K = 20
f = (3*y - (x-2)^K)*(y -(x^2+4)^K)
g = 3*y - 2^K
h = y - 4^K
deg_y(f) = 2, deg_x(f) = 40
deg_y(g) = 1
deg_y(h) = 1
coeffs(f) [3, 31779833729274766950400]
deg = 128:
erreur en g:
exact:
1.212867019327621370365705621322108580181888001199160610359510995280116791340155e-12
Intervalles:
NaN
Validation:
NaN
erreur en h:
exact:
2.303320472637815587945409114009395035258543429258678576117527183605307279344562e-16
Intervalles:
NaN
Validation:
NaN
Example 8:
K = 20
f = (3*y - (x-2)^K)*(y -(x^2+4)^K)
g = 3*y - 2^K
h = y - 4^K
deg_y(f) = 2, deg_x(f) = 40
deg_y(g) = 1
deg_y(h) = 1
coeffs(f) [3, 31779833729274766950400]
deg = 128:
erreur en g:
exact:
1.212867019327621370365705621322108580181888001199160610359510995280116791340155e-12
Intervalles:
NaN
Validation:
NaN
erreur en h:
exact:
2.303320472637815587945409114009395035258543429258678576117527183605307279344562e-16
Intervalles:
NaN
Validation:
NaN
Example 9:
f = (y^5-1)*(y^5+2)+x
g = y-1
h = y+2
deg_y(f) = 10, deg_x(f) = 1
deg_y(g) = 5
deg_y(h) = 5
coeffs(f) [2]
deg = 128:
erreur en g:
exact:
9.277233482758887051048231441936821383460365565665805462494700731717860632586342e-18
Intervalles:
6.43145290051548e-12
Validation:
8.170211376193516e-12
erreur en h:
exact:
6.534085428668992890198018740684461524817687133298758453874876334528435509155081e-18
Intervalles:
3.523310905918902e-12
Validation:
4.475617818678794e-12
Example 10:
......@@ -93,17 +257,106 @@ f = (y^5-1)*(y^5+2)+(x^2+4*x)^K
g = y^5-1
h = y^5+2
deg_y(f) = 10, deg_x(f) = 40
deg_y(g) = 5
deg_y(h) = 5
coeffs(f) [2, 20809116549120]
deg = 128:
erreur en g:
exact:
6.890723389454847456140779824534644648874718212210294630444264458516851483694859e-16
Intervalles:
5.65193208594629e-11
Validation:
1.0072839017470755e-10
erreur en h:
exact:
6.890723389454847456140779824534644648874718212210294630444264458516851483691408e-16
Intervalles:
4.928445667544449e-11
Validation:
8.774135942571211e-11
Example 11:
f = (y^15-1)*(y^15+2)+x
g = y^15-1
h = y^15+2
deg_y(f) = 30, deg_x(f) = 1
deg_y(g) = 15
deg_y(h) = 15
coeffs(f) [2]
deg = 128:
erreur en g:
exact:
9.277233482758887051048231441936821383460365565665805462494700731717860632586342e-18
Intervalles:
6.431452978747961e-12
Validation:
8.170212487666917e-12
erreur en h:
exact:
6.534085428668992890198018740684461524817687133298758453874876334528435509155081e-18
Intervalles:
3.523310905918902e-12
Validation:
4.4756182934382825e-12
Example 12:
f = (y^15-1)*(y^15+2)+(x^2+4*x)^K
g = y^15-1
h = y^15+2
deg_y(f) = 30, deg_x(f) = 40
deg_y(g) = 15
deg_y(h) = 15
coeffs(f) [2, 20809116549120]
deg = 128:
erreur en g:
exact:
6.890723389454847456140779824534644648874718212210294630444264458516851483694859e-16
Intervalles:
5.6519321264720244e-11
Validation:
1.0097760021402075e-10
erreur en h:
exact:
6.890723389454847456140779824534644648874718212210294630444264458516851483691408e-16
Intervalles:
4.928445667544449e-11
Validation:
8.802274209000801e-11
Example 13:
f = (y^30-1)*(y^30+2)+(x^2+4*x)^K + x
g = y^30-1
h = y^30+2
deg_y(f) = 60, deg_x(f) = 40
deg_y(g) = 30
deg_y(h) = 30
coeffs(f) [2, 20809116549120]
deg = 128:
erreur en g:
exact:
9.926404348498099331238677813125519317359014645219632318620521274277287107469128e-16
Intervalles:
7.714649465066166e-11
Validation:
8.677404667193175e-11
erreur en h:
exact:
9.926404348498099331238677813125519317359014645219632318620521274277287107466367e-16
Intervalles:
6.743562412716703e-11
Validation:
7.582577036181246e-11
\ No newline at end of file
......@@ -117,6 +117,29 @@ function nonzeroMin(d::PolyElem{T}) where T <: Union{FieldElem, AbstractFloat}
min
end
function range_of_coefficients(p::PolyElem{T}) where T
dp = degree(p)
min = 0.0
max = 0.0
q = deepcopy(p)
abs_coefficientwise!(q)
for i in 0:dp
if T <: PolyElem
(mini, maxi) = range_of_coefficients(coeff(q,i))
else
mini = coeff(q,i)
maxi = coeff(q,i)
end
if (mini != 0)&&(mini != 1) && ((min == 0)||((min != 0)&&(mini < min)))
min = mini
end
if (maxi != 0)&&(maxi != 1) && ((max == 0)||((max != 0)&&(maxi > max)))
max = maxi
end
end
(min,max)
end
#=
function multiply(p::PolyElem{T},q::PolyElem{T}) where T <: Union{PolyRingElem{ArbField}, PolyRingElem{RealField}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment