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

continued examples for validated Hensel version 1

parent f1b19b45
No related branches found
No related tags found
No related merge requests found
......@@ -39,11 +39,27 @@ end=#
∑|̄p_n-p_n|*R^n/∑|p_n|*R^n with y = 1
"""
function error_measure1(p_exact::PolyElem{T},p_approx::PolyElem{S}, R = BigFloat(1)) where {T<: PolyElem,S<: PolyElem}
p_exact1 = deepcopy(p_exact)
p_approx1 = deepcopy(p_approx)
abs_coefficientwise!(p_exact1)
abs_coefficientwise!(p_approx1)
error_measure1(p_exact1(1),p_approx1(1),R)
#p_exact1 = deepcopy(p_exact)
#p_approx1 = deepcopy(p_approx)
#abs_coefficientwise!(p_exact1)
#abs_coefficientwise!(p_approx1)
#error_measure1(p_exact1(1),p_approx1(1),R)
num = 0.0
den = 0.0
dp = degree(p_approx)
for i 1:dp+1
dfi = degree(coeff(p_approx,i-1))
for j 1:dfi
if T <: PolyElem{QQFieldElem}
num += (abs(coeff(coeff(p_approx,i-1),j-1)-convert(Rational{BigInt}, coeff(coeff(p_exact,i-1),j-1))))*R^(i-1)
den += abs(convert(Rational{BigInt}, coeff(coeff(p_exact,i-1),j-1)))*R^(i-1)
elseif T<: PolyElem{AbstractFloat}
num += (abs(coeff(coeff(p_approx,i-1),j-1)-convert(BigFloat, coeff(coeff(p_exact,i-1),j-1))))*R^(i-1)
den += abs(convert(BigFloat, coeff(coeff(p_exact,i-1),j-1)))*R^(i-1)
end
end
end
num/den
end
"""
......@@ -98,16 +114,16 @@ function error_measure1(p_interv::PolyElem{T}, R=BigFloat(1)) where T
num = 0.0
den = 0.0
dp = degree(p_interv)
@show dp
#@show dp
for i 1:dp+1
#num += abs(convert(BigFloat, Nemo.radius(coeff(p_interv,i-1))))*R^(i-1)
#den += abs(convert(BigFloat, coeff(p_interv,i-1)))*R^(i-1)
@show radius(coeff(p_interv,i-1))
#@show radius(coeff(p_interv,i-1))
num += 2*Nemo.radius(coeff(p_interv,i-1))*R^(i-1)
@show num
#@show num
den += abs(coeff(p_interv,i-1))*R^(i-1)
@show den
#@show den
#changed here
#Float64(radius(xx)/abs(xx), round=RoundUp)
end
......
......@@ -101,3 +101,10 @@ norm1error(gistar)
norm1error(histar)
norm1error(gvstar)
norm1error(hvstar)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -66,3 +66,10 @@ norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -62,3 +62,11 @@ norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
......@@ -66,3 +66,10 @@ norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -63,3 +63,10 @@ norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
......@@ -112,12 +112,11 @@ 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
range_of_coefficients(Fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
......@@ -108,3 +108,10 @@ norm1error(hvstar)
range_of_coefficients(fq)
range_of_coefficients(gq)
range_of_coefficients(hq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -104,3 +104,10 @@ norm1error(hvstar)
range_of_coefficients(fq)
range_of_coefficients(gq)
range_of_coefficients(hq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -108,3 +108,10 @@ norm1error(hvstar)
range_of_coefficients(fq)
range_of_coefficients(gq)
range_of_coefficients(hq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -77,3 +77,10 @@ norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -109,3 +109,10 @@ norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -68,3 +68,10 @@ norm1error(gvstar)
norm1error(hvstar)
range_of_coefficients(fq)
error_measure1(gqstar,grstar, R/2)
error_measure1(hqstar,hrstar, R/2)
error_measure1(gistar, R/2)
error_measure1(histar, R/2)
error_measure1(gvstar, R/2)
error_measure1(hvstar, R/2)
\ No newline at end of file
......@@ -46,6 +46,23 @@ Interval:
Validation:
3.4455103601078275e-13
à R/2:
R = 0.3999999999068677425384521484375
erreur en g:
exact:
3.999515123802637392878124236031816965487584924586392655746622529864243974656699e-16
Intervalles:
1.2755559177463285e-20
Validation:
1.7662867102732355e-20
erreur en h:
exact:
3.999515123802637392878124236031816965487584924758615314343897402512808981910327e-16
Intervalles:
1.1980061760453332e-20
Validation:
1.6125932163881598e-20
Example 3:
......@@ -79,6 +96,24 @@ 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.
à R/2:
R = 0.6319193895
erreur en g:
exact:
1.967731902555307472212058153237869534638183786458029138807755666364378263536625e+115
Intervalles:
NaN
Validation:
NaN
erreur en h:
exact:
1.664599111352408708925736275372088894195660293603300078296414341914242188765355e+115
Intervalles:
NaN
Validation:
NaN
Example 4:
N = 14
......@@ -110,6 +145,24 @@ Intervalles:
Validation:
1.8210579515364143e-11
à R/2:
R = 0.4097119004
erreur en g:
exact:
1.209063438344502636546210415152493568310040920456798757784161674026096468582442e-15
Intervalles:
3.6182407984856316e-17
Validation:
3.798372961082169e-17
erreur en h:
exact:
1.209063438344502636546210415152493568310040920727383597566790014784450199129621e-15
Intervalles:
8.789337353385096e-14
Validation:
8.789892765559724e-14
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
......@@ -138,6 +191,24 @@ Intervalles:
Validation:
NaN
à R/2:
R = 0.5738794244825839996337890625
erreur en g:
exact:
9.098247644402031462395079463053712232786913240405986705347131641313640062244689e-16
Intervalles:
4.820218234629769e-12
Validation:
NaN
erreur en h:
exact:
1.569349846413507315644622769471213573618032200580864302463694421415861134067809e-16
Intervalles:
2.1013214752318588e-12
Validation:
NaN
Example 6:
f = (y- (x^24 + x^18 -x-1)^N)*(y- (x^2 + x + 7))
g = y- 7
......@@ -165,6 +236,23 @@ NaN
Validation:
NaN
à R/2:
R = 0.151133528687885
erreur en g:
exact:
7.801152142007931786463580110436622980492938561812821541510701994383113974253408e+85
Intervalles:
5.5100653314416835e-11
Validation:
NaN
erreur en h:
exact:
5.341362532534997497701470373010771048883148089714392624671739115399938155440448e+78
Intervalles:
5.0598725614572246e-11
Validation:
NaN
Example 7:
K = 20
......@@ -194,6 +282,24 @@ NaN
Validation:
NaN
à R/2:
R = 1.311590266
erreur en g:
exact:
1.212791068658222674884658584183580878094464622047388318711938176542312643834672e-12
Intervalles:
0.003440389034949476
Validation:
NaN
erreur en h:
exact:
1.511294440775874264610876991185542446254583494412763488741875967086773589466389e-16
Intervalles:
0.0021532898899749853
Validation:
NaN
Example 8:
K = 20
......@@ -223,6 +329,24 @@ NaN
Validation:
NaN
à R/2:
R = 1.311590266245814591947009553063452358401264064013957977294921875
erreur en g:
exact:
1.212791068658222674757685344174933233205455668672003479466471660565392056810214e-12
Intervalles:
0.0034403890604153275
Validation:
NaN
erreur en h:
exact:
1.511294440775874264610876991185542446254583494412763488741875967086773589466389e-16
Intervalles:
0.0021532899081648793
Validation:
NaN
Example 9:
f = (y^5-1)*(y^5+2)+x
......@@ -251,6 +375,24 @@ Intervalles:
Validation:
4.475617818678794e-12
à R/2:
R = 2
erreur en g:
exact:
1.59903026951969300418597471299210602929183973800347209282973256268006979593068e-17
Intervalles:
6.43145290051548e-12
Validation:
8.170211376193516e-12
erreur en h:
exact:
9.277233482758887051048231441936821383460365564294835231349649751527202065930995e-18
Intervalles:
3.523310905918902e-12
Validation:
4.475617818678794e-12
Example 10:
f = (y^5-1)*(y^5+2)+(x^2+4*x)^K
......@@ -279,6 +421,24 @@ Intervalles:
Validation:
8.774135942571211e-11
à R/2:
R = 0.2439395990
erreur en g:
exact:
6.273019806698232587896326924265754571825625188190479964346035513974712057594442e-16
Intervalles:
9.010609269208145e-19
Validation:
1.5045923683965709e-18
erreur en h:
exact:
6.273019806698232587896326924265754571825625188190479964346035513974712057581019e-16
Intervalles:
4.496116410250571e-19
Validation:
7.512345150909365e-19
Example 11:
f = (y^15-1)*(y^15+2)+x
g = y^15-1
......@@ -306,6 +466,25 @@ Intervalles:
Validation:
4.4756182934382825e-12
à R/2:
R = 0.2439395990
erreur en g:
exact:
1.59903026951969300418597471299210602929183973800347209282973256268006979593068e-17
Intervalles:
1.0859517241169656e-13
Validation:
1.1998685513398914e-13
erreur en h:
exact:
9.277233482758887051048231441936821383460365564294835231349649751527202065930995e-18
Intervalles:
5.480520527098048e-14
Validation:
6.055019653151573e-14
Example 12:
f = (y^15-1)*(y^15+2)+(x^2+4*x)^K
......@@ -334,6 +513,25 @@ Intervalles:
Validation:
8.802274209000801e-11
à R/2:
R = 2.188565853
erreur en g:
exact:
6.273019806698232587896326924265754571825625188190479964346035513974712057594442e-16
Intervalles:
5.617682917567096e-11
Validation:
1.0042388333353109e-10
erreur en h:
exact:
6.273019806698232587896326924265754571825625188190479964346035513974712057581019e-16
Intervalles:
4.8998656438496015e-11
Validation:
8.756180076390561e-11
Example 13:
f = (y^30-1)*(y^30+2)+(x^2+4*x)^K + x
g = y^30-1
......@@ -360,3 +558,21 @@ Intervalles:
6.743562412716703e-11
Validation:
7.582577036181246e-11
à R/2:
R = 0.2439395990
erreur en g:
exact:
1.175661324943096414095182882810403174508402834014312815342594741587559658110713e-15
Intervalles:
1.0859637095491841e-13
Validation:
1.199882002807035e-13
erreur en h:
exact:
1.175661324943096414095182882810403174508402834014312815342594741587559658109164e-15
Intervalles:
5.480581638407159e-14
Validation:
6.055088234798652e-14
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment