Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Clenshaw algorithm
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Difference in meridian arc lengths=== Sometimes it necessary to compute the difference of two meridian arcs in a way that maintains high relative accuracy. This is accomplished by using trigonometric identities to write <math display="block"> m(\theta_1)-m(\theta_2) = C_0(\theta_1-\theta_2) + \sum_{k=1}^n 2 C_k \sin\bigl({\textstyle\frac12}k(\theta_1-\theta_2)\bigr) \cos\bigl({\textstyle\frac12}k(\theta_1+\theta_2)\bigr). </math> Clenshaw summation can be applied in this case<ref>{{ cite journal | last = Karney | first = C. F. F. | year = 2024 | volume = 68 | number = 3-4 | pages = 99-120 | title = The area of rhumb polygons | journal = Stud. Geophys. Geod. | doi = 10.1007/s11200-024-0709-z | doi-access = free | postscript = Appendix B| arxiv = 2303.03219 }}</ref> provided we simultaneously compute <math>m(\theta_1)+m(\theta_2)</math> and perform a matrix summation, <math display="block"> \mathsf M(\theta_1,\theta_2) = \begin{bmatrix} (m(\theta_1) + m(\theta_2)) / 2\\ (m(\theta_1) - m(\theta_2)) / (\theta_1 - \theta_2) \end{bmatrix} = C_0 \begin{bmatrix} \mu \\ 1 \end{bmatrix} + \sum_{k=1}^n C_k \mathsf F_k(\theta_1,\theta_2), </math> where <math display="block"> \begin{align} \delta &= \tfrac{1}{2}(\theta_1-\theta_2), \\[1ex] \mu &= \tfrac{1}{2}(\theta_1+\theta_2), \\[1ex] \mathsf F_k(\theta_1,\theta_2) &= \begin{bmatrix} \cos k \delta \sin k \mu \\ \dfrac{\sin k \delta}\delta \cos k \mu \end{bmatrix}. \end{align} </math> The first element of <math>\mathsf M(\theta_1,\theta_2)</math> is the average value of <math>m</math> and the second element is the average slope. <math>\mathsf F_k(\theta_1,\theta_2)</math> satisfies the recurrence relation <math display="block"> \mathsf F_{k+1}(\theta_1,\theta_2) = \mathsf A(\theta_1,\theta_2) \mathsf F_k(\theta_1,\theta_2) - \mathsf F_{k-1}(\theta_1,\theta_2), </math> where <math display="block"> \mathsf A(\theta_1,\theta_2) = 2\begin{bmatrix} \cos \delta \cos \mu & -\delta\sin \delta \sin \mu \\ - \displaystyle\frac{\sin \delta}\delta \sin \mu & \cos \delta \cos \mu \end{bmatrix} </math> takes the place of <math>\alpha</math> in the recurrence relation, and <math>\beta=-1</math>. The standard Clenshaw algorithm can now be applied to yield <math display="block"> \begin{align} \mathsf B_{n+1} &= \mathsf B_{n+2} = \mathsf 0, \\[1ex] \mathsf B_k &= C_k \mathsf I + \mathsf A \mathsf B_{k+1} - \mathsf B_{k+2}, \qquad\mathrm{for\ } n\ge k \ge 1, \\[1ex] \mathsf M(\theta_1,\theta_2) &= C_0 \begin{bmatrix}\mu\\1\end{bmatrix} + \mathsf B_1 \mathsf F_1(\theta_1,\theta_2), \end{align}</math> where <math>\mathsf B_k</math> are 2Γ2 matrices. Finally we have <math display="block"> \frac{m(\theta_1) - m(\theta_2)}{\theta_1 - \theta_2} = \mathsf M_2(\theta_1, \theta_2). </math> This technique can be used in the [[limit (mathematics)|limit]] <math>\theta_2 = \theta_1 = \mu</math> and <math> \delta = 0 </math> to simultaneously compute <math>m(\mu)</math> and the [[derivative]] <math>dm(\mu)/d\mu</math>, provided that, in evaluating <math>\mathsf F_1</math> and <math>\mathsf A</math>, we take <math>\lim_{\delta \to 0} (\sin k \delta)/\delta = k</math>.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)