Graph plotting and "The precision of the argument function is less
- To: mathgroup at smc.vnet.net
- Subject: [mg126871] Graph plotting and "The precision of the argument function is less
- From: jdm <james.d.mclaughlin at gmail.com>
- Date: Thu, 14 Jun 2012 05:33:40 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
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 ideas as to what I'm doing wrong and how I can
put it right?
Thanks!
James McLaughlin.