File: Acceleration-functions.html

package info (click to toggle)
gsl-ref-html 1.14-1
  • links: PTS
  • area: non-free
  • in suites: squeeze
  • size: 4,628 kB
  • ctags: 3,088
  • sloc: makefile: 33
file content (92 lines) | stat: -rw-r--r-- 5,177 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<html lang="en">
<head>
<title>Acceleration functions - GNU Scientific Library -- Reference Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Scientific Library -- Reference Manual">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Series-Acceleration.html" title="Series Acceleration">
<link rel="next" href="Acceleration-functions-without-error-estimation.html" title="Acceleration functions without error estimation">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The GSL Team.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``GNU General Public License'' and ``Free Software
Needs Free Documentation'', the Front-Cover text being ``A GNU Manual'',
and with the Back-Cover Text being (a) (see below).  A copy of the
license is included in the section entitled ``GNU Free Documentation
License''.

(a) The Back-Cover Text is: ``You have the freedom to copy and modify this
GNU Manual.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<p>
<a name="Acceleration-functions"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="Acceleration-functions-without-error-estimation.html">Acceleration functions without error estimation</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Series-Acceleration.html">Series Acceleration</a>
<hr>
</div>

<h3 class="section">30.1 Acceleration functions</h3>

<p>The following functions compute the full Levin u-transform of a series
with its error estimate.  The error estimate is computed by propagating
rounding errors from each term through to the final extrapolation.

   <p>These functions are intended for summing analytic series where each term
is known to high accuracy, and the rounding errors are assumed to
originate from finite precision. They are taken to be relative errors of
order <code>GSL_DBL_EPSILON</code> for each term.

   <p>The calculation of the error in the extrapolated value is an
O(N^2) process, which is expensive in time and memory.  A faster
but less reliable method which estimates the error from the convergence
of the extrapolated value is described in the next section.  For the
method described here a full table of intermediate values and
derivatives through to O(N) must be computed and stored, but this
does give a reliable error estimate.

<div class="defun">
&mdash; Function: gsl_sum_levin_u_workspace * <b>gsl_sum_levin_u_alloc</b> (<var>size_t n</var>)<var><a name="index-gsl_005fsum_005flevin_005fu_005falloc-2279"></a></var><br>
<blockquote><p><a name="index-gsl_005fsum_005flevin_005fu_005fworkspace-2280"></a>This function allocates a workspace for a Levin u-transform of <var>n</var>
terms.  The size of the workspace is O(2n^2 + 3n). 
</p></blockquote></div>

<div class="defun">
&mdash; Function: void <b>gsl_sum_levin_u_free</b> (<var>gsl_sum_levin_u_workspace * w</var>)<var><a name="index-gsl_005fsum_005flevin_005fu_005ffree-2281"></a></var><br>
<blockquote><p>This function frees the memory associated with the workspace <var>w</var>. 
</p></blockquote></div>

<div class="defun">
&mdash; Function: int <b>gsl_sum_levin_u_accel</b> (<var>const double * array, size_t array_size, gsl_sum_levin_u_workspace * w, double * sum_accel, double * abserr</var>)<var><a name="index-gsl_005fsum_005flevin_005fu_005faccel-2282"></a></var><br>
<blockquote><p>This function takes the terms of a series in <var>array</var> of size
<var>array_size</var> and computes the extrapolated limit of the series using
a Levin u-transform.  Additional working space must be provided in
<var>w</var>.  The extrapolated sum is stored in <var>sum_accel</var>, with an
estimate of the absolute error stored in <var>abserr</var>.  The actual
term-by-term sum is returned in <code>w-&gt;sum_plain</code>. The algorithm
calculates the truncation error (the difference between two successive
extrapolations) and round-off error (propagated from the individual
terms) to choose an optimal number of terms for the extrapolation. 
All the terms of the series passed in through <var>array</var> should be non-zero. 
</p></blockquote></div>

<hr>The GNU Scientific Library - a free numerical library licensed under the GNU GPL<br>Back to the <a href="/software/gsl/">GNU Scientific Library Homepage</a></body></html>