Wave Propagation in Linear Media | re-examined
Wave Propagation in Linear Media | re-examined
Wave Propagation in Linear Media | re-examined
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>in</strong>tegration limit a or the rightmost ext<strong>re</strong>mum of f, whichever is g<strong>re</strong>ater, a<strong>re</strong><br />
calculated. In the second case, the first n function values of f to the right of a<br />
a<strong>re</strong> sought. Note that <strong>in</strong> this case, f is supposed to <strong>re</strong>turn values only to the<br />
right of the rightmost ext<strong>re</strong>mum. In any case, f must be of the form f[...][x]."<br />
OscInt::usage =<br />
"OscInt[f,fpartition,a,(opts)] <strong>re</strong>turns the univariate <strong>in</strong>tegral of an oscillat<strong>in</strong>g<br />
function f over the range (a,Inf<strong>in</strong>ity) by means of a partition extrapolation strategy.<br />
The function f is <strong>re</strong>qui<strong>re</strong>d to of the form f[...][x], x be<strong>in</strong>g the<br />
<strong>in</strong>tegration variable. Quadratu<strong>re</strong> is carried out between successive partition po<strong>in</strong>ts<br />
def<strong>in</strong>ed by the function fpartition[...][x] that either <strong>re</strong>turns the zeros of the<br />
<strong>in</strong>tegrand or the argument of the oscillat<strong>in</strong>g part. The sequence of partition<br />
po<strong>in</strong>ts is computed by the function PartitionTable, the actual <strong>in</strong>tegration is carried<br />
out with the function PartInt. The first partition po<strong>in</strong>t can be given explicitly<br />
with OscInt[f,fpartition,{a,a0},(opts)]. The options a<strong>re</strong> passed to PartitionTable and<br />
PartInt."<br />
OscIntControlled::usage =<br />
"OscIntControlled[f,fpartition,a,(opts)] works like OscInt with the additional<br />
featu<strong>re</strong> that the accuracy of the <strong>re</strong>sult may be specified <strong>in</strong> advance."<br />
FunctionType::usage =<br />
"FunctionType is an option for PartitionTable (and OscInt) that specifies how<br />
the function passed to PartitionTable is to be <strong>in</strong>terp<strong>re</strong>ted.<br />
FunctionType -> ZeroList means that the function <strong>re</strong>turns consecutive zeros of the<br />
<strong>in</strong>tegrand. FunctionType -> S<strong>in</strong>Argument or CosArgument means that it is the argument<br />
function of the <strong>re</strong>spective cyclic function."<br />
ZeroList::usage =<br />
"ZeroList is a value to FunctionType."<br />
S<strong>in</strong>Argument::usage = CosArgument::usage =<br />
"Argument is a value to FunctionType."<br />
AccuracyControl::usage =<br />
"AccuracyControl specifies whether the accuracy of the <strong>re</strong>sult of OscInt should<br />
be controlled. With AccuracyControl -> n, at most MaxIterations a<strong>re</strong> performed<br />
to achieve the number of n cor<strong>re</strong>ct digits. With AccuracyControl -> False, no<br />
check<strong>in</strong>g is done. The control loop uses the built-<strong>in</strong> function Accuracy."<br />
IterationLength::usage =<br />
"IterationLength specifies the number of terms that a<strong>re</strong> added to the sequence<br />
of partial sums with each iteration."<br />
ApproxLimGeneric::nounique =<br />
"The<strong>re</strong> a<strong>re</strong> `1` <strong>re</strong>al solutions `2`, he<strong>re</strong> is the largest.";<br />
ApproxLimGeneric::nosolution =<br />
"The<strong>re</strong> is no positive <strong>re</strong>al valued solution.";<br />
QuadZero::noquad = "Function is not a quadratic polynomial";<br />
ApproxLimQuad::noapprox = "No approximation needed";<br />
ApproxLimL<strong>in</strong>ear::noosc = "Function not <strong>in</strong>f<strong>in</strong>itely oscillat<strong>in</strong>g";<br />
ZerosInBetween::outside = "Function has no zeros <strong>in</strong>side the <strong>in</strong>terval";<br />
OscInt::lowfirst =<br />
"First partition po<strong>in</strong>t is smaller than lower limit, only<br />
`1` po<strong>in</strong>ts a<strong>re</strong> g<strong>re</strong>ater. This may cause problems.";<br />
OscInt::badparam =<br />
"\"`1`\" is no valid parameter for AccuracyControl.";<br />
OscInt::accfail =<br />
"OscInt failed to achieve the desi<strong>re</strong>d accuracy after `1` iterations. Inc<strong>re</strong>ase<br />
MaxIterations or lower AccuracyControl.";<br />
PartitionTable::badparam =<br />
"\"`1`\" is no valid parameter for FunctionType.";<br />
Beg<strong>in</strong>["`Private`"]<br />
Options[OscInt] = {Work<strong>in</strong>gP<strong>re</strong>cision->$Mach<strong>in</strong>eP<strong>re</strong>cision,<br />
AccuracyGoal->Inf<strong>in</strong>ity,<br />
P<strong>re</strong>cisionGoal->Automatic,<br />
M<strong>in</strong>Recursion->0,<br />
MaxRecursion->20,<br />
NSumTerms->10,<br />
NSumExtraTerms->12,<br />
216<br />
A Mathematica packages