- #1
jamie_m
- 14
- 0
"The precision of the argument function" error message, graph not plotted
I've got a function, integratedadvthirdaltb, that I'm trying to use in plotting some graphs:
thirdaltb[KP_, Ps_, C_, M_] :=
NSolve[Sqrt[2*M]*b +
InverseCDF[NormalDistribution[0, 1], Ps]*
Sqrt[4*(InverseCDF[NormalDistribution[0, 1], Ps]^2) +
4*Sqrt[2*M]*b + (2.785398163397448309616)*M] ==
KP*C - 2*(InverseCDF[NormalDistribution[0, 1], Ps]^2), b,
WorkingPrecision -> 20]
directadv[b_] := -Log2[1 - CDF[NormalDistribution[0, 1], b]]
integratedadvthirdaltb[KP_, Ps_, C_, M_] :=
directadv[b /. thirdaltb[KP, Ps, C, M]]
So far so good. However, the first graph I've tried to plot is giving me a lot of "The precision of the argument function ({6.6073 +4\ Sqrt[2]\ \
b+1.83842\ Sqrt[58.0856 +16\Sqrt[2]\b]}\\n) is less than \
WorkingPrecision" errors (in fact, that's not the only argument function that apparently has less than WorkingPrecision.) Having WorkingPrecision->20 in the definition of the thirdaltb function, I'm at a loss as to why I'm getting these errors.
That said, the first graph does get plotted. Here's the instruction to do so
LogLinearPlot[{integratedadvthirdaltb[x, 0.967, 2^(-5.35614381),
2^(4)]}, {x, 2^(9), 2^(13)}, AxesLabel -> {KPs, advantage},
PlotLabel ->
Style["HEYSFIRST6622NONLINEAR - theoretical advantage with Ps = \
0.97"], PlotRange -> {0, 12}, PlotStyle -> {Blue},
Ticks -> {{{2^(9), Superscript[2, Log2[2^(9)]]}, {2^(10),
Superscript[2, Log2[2^(10)]]}, {2^(11),
Superscript[2, Log2[2^(11)]]}, {2^(12),
Superscript[2, Log2[2^(12)]]}, {2^(13),
Superscript[2, Log2[2^(13)]]}}, Automatic},
WorkingPrecision -> 20]
The next graph I've tried to plot, however, is completely blank. Only the axes and heading/labels appear on screen. And I'm getting a lot more "The precision of the argument function ... is less than Working Precision" messages than I was for its predecessor:
LogLinearPlot[{integratedadvthirdaltb[x, 0.967, 2^(-8), 1]}, {x,
2^(9), 2^(13)}, AxesLabel -> {KPs, advantage},
PlotLabel ->
Style["CRYPRACTHREEFOURROUNDSTWELVEBITS - theoretical advantage \
with Ps = 0.97"], PlotRange -> {0, 12}, PlotStyle -> {Red},
Ticks -> {{{2^(9), Superscript[2, Log2[2^(9)]]}, {2^(10),
Superscript[2, Log2[2^(10)]]}, {2^(11),
Superscript[2, Log2[2^(11)]]}, {2^(12),
Superscript[2, Log2[2^(12)]]}, {2^(13),
Superscript[2, Log2[2^(13)]]}}, Automatic},
WorkingPrecision -> 20]
Does anyone have any idea as to where I'm going wrong and what I should do to fix it?
Thanks!
James McLaughlin.
I've got a function, integratedadvthirdaltb, that I'm trying to use in plotting some graphs:
thirdaltb[KP_, Ps_, C_, M_] :=
NSolve[Sqrt[2*M]*b +
InverseCDF[NormalDistribution[0, 1], Ps]*
Sqrt[4*(InverseCDF[NormalDistribution[0, 1], Ps]^2) +
4*Sqrt[2*M]*b + (2.785398163397448309616)*M] ==
KP*C - 2*(InverseCDF[NormalDistribution[0, 1], Ps]^2), b,
WorkingPrecision -> 20]
directadv[b_] := -Log2[1 - CDF[NormalDistribution[0, 1], b]]
integratedadvthirdaltb[KP_, Ps_, C_, M_] :=
directadv[b /. thirdaltb[KP, Ps, C, M]]
So far so good. However, the first graph I've tried to plot is giving me a lot of "The precision of the argument function ({6.6073 +4\ Sqrt[2]\ \
b+1.83842\ Sqrt[58.0856 +16\Sqrt[2]\b]}\\n) is less than \
WorkingPrecision" errors (in fact, that's not the only argument function that apparently has less than WorkingPrecision.) Having WorkingPrecision->20 in the definition of the thirdaltb function, I'm at a loss as to why I'm getting these errors.
That said, the first graph does get plotted. Here's the instruction to do so
LogLinearPlot[{integratedadvthirdaltb[x, 0.967, 2^(-5.35614381),
2^(4)]}, {x, 2^(9), 2^(13)}, AxesLabel -> {KPs, advantage},
PlotLabel ->
Style["HEYSFIRST6622NONLINEAR - theoretical advantage with Ps = \
0.97"], PlotRange -> {0, 12}, PlotStyle -> {Blue},
Ticks -> {{{2^(9), Superscript[2, Log2[2^(9)]]}, {2^(10),
Superscript[2, Log2[2^(10)]]}, {2^(11),
Superscript[2, Log2[2^(11)]]}, {2^(12),
Superscript[2, Log2[2^(12)]]}, {2^(13),
Superscript[2, Log2[2^(13)]]}}, Automatic},
WorkingPrecision -> 20]
The next graph I've tried to plot, however, is completely blank. Only the axes and heading/labels appear on screen. And I'm getting a lot more "The precision of the argument function ... is less than Working Precision" messages than I was for its predecessor:
LogLinearPlot[{integratedadvthirdaltb[x, 0.967, 2^(-8), 1]}, {x,
2^(9), 2^(13)}, AxesLabel -> {KPs, advantage},
PlotLabel ->
Style["CRYPRACTHREEFOURROUNDSTWELVEBITS - theoretical advantage \
with Ps = 0.97"], PlotRange -> {0, 12}, PlotStyle -> {Red},
Ticks -> {{{2^(9), Superscript[2, Log2[2^(9)]]}, {2^(10),
Superscript[2, Log2[2^(10)]]}, {2^(11),
Superscript[2, Log2[2^(11)]]}, {2^(12),
Superscript[2, Log2[2^(12)]]}, {2^(13),
Superscript[2, Log2[2^(13)]]}}, Automatic},
WorkingPrecision -> 20]
Does anyone have any idea as to where I'm going wrong and what I should do to fix it?
Thanks!
James McLaughlin.