Wave Propagation in Linear Media | re-examined
Wave Propagation in Linear Media | re-examined
Wave Propagation in Linear Media | re-examined
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Appendix A<br />
Mathematica packages<br />
A Mathematica packages<br />
The appendix conta<strong>in</strong>s source code list<strong>in</strong>gs of the most important Mathematica packages that<br />
we<strong>re</strong> needed to carry out the numerical evaluation of the wave <strong>in</strong>tegrals <strong>in</strong> the rst part of<br />
this work. The last section describes a number of utilities that made life easier with the<br />
th<strong>re</strong>e-dimensional pictu<strong>re</strong>s of propagat<strong>in</strong>g waves.<br />
A.1 Numerical quadratu<strong>re</strong><br />
The package OscInt was written to compute semi-<strong>in</strong> nite <strong>in</strong>tegrals of strongly oscillat<strong>in</strong>g<br />
<strong>in</strong>tegrands. The user <strong>in</strong>terface and implementation a<strong>re</strong> described <strong>in</strong> detail <strong>in</strong> chapter 7.<br />
(* Copyright: Copyright 1997, Institute of Computertechnology, *)<br />
(* Vienna University of Technology *)<br />
(*:Version: Mathematica 2.2.3 *)<br />
(*:Title: OscInt *)<br />
(*:Revision: 1.2 *)<br />
(*:Author: Thilo Sauter *)<br />
(*:Keywords: Semi-<strong>in</strong>f<strong>in</strong>ite Quadratu<strong>re</strong>, Very Oscillat<strong>in</strong>g Integrands,<br />
Series Acceleration *)<br />
(*:Requi<strong>re</strong>ments: None. *)<br />
(*:Warn<strong>in</strong>gs: None so far *)<br />
(*:Summary: This package provides a set of functions for the numerical<br />
quadratu<strong>re</strong> of univariate oscillat<strong>in</strong>g <strong>in</strong>tegrands over the<br />
semi-<strong>in</strong>f<strong>in</strong>te range {a,Inf<strong>in</strong>ity}. The oscillations of the<br />
<strong>in</strong>tegrand may be ir<strong>re</strong>gular and need not show an ultimately<br />
constant period. The <strong>in</strong>tegrand must be of the form<br />
f(x) u(g(x)) with u(x) be<strong>in</strong>g S<strong>in</strong>[x], Cos[x] or - mo<strong>re</strong><br />
generally - Exp[I x]. The argument function g(x) must have<br />
an asymptotic expansion at <strong>in</strong>f<strong>in</strong>ity.<br />
*)<br />
(*:History: 27-12-1996 ZerosInBetween extended to cope with special cases<br />
25-01-1997 PartInt, PartitionTable added, OscInt <strong>re</strong>written<br />
24-03-1997 OscIntControlled, PartitionOffs, PartitionPo<strong>in</strong>ts<br />
added to allow accuracy control<br />
25-03-1997 Check of the limit of zerof[x] added to functions<br />
PartitionTable and PartitionPo<strong>in</strong>ts to detect<br />
argument functions with f<strong>in</strong>ite limit (and thus<br />
f<strong>in</strong>ite set of zeros)<br />
*)<br />
Beg<strong>in</strong>Package["OscInt`"]<br />
PolynomialDeg<strong>re</strong>e::usage =<br />
"PolynomialDeg<strong>re</strong>e[f,x] <strong>re</strong>turns the deg<strong>re</strong>e of the polynomial<br />
asymptotic expansion of f <strong>re</strong>gard<strong>in</strong>g the variable x at Inf<strong>in</strong>ity. If f<br />
is a pu<strong>re</strong> function or is def<strong>in</strong>ed as f[...][x] then x need not be<br />
specified."<br />
214