File: Acceleration-functions.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (126 lines) | stat: -rw-r--r-- 6,841 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: Acceleration functions</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Acceleration functions">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Acceleration functions">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Series-Acceleration.html#Series-Acceleration" rel="up" title="Series Acceleration">
<link href="Acceleration-functions-without-error-estimation.html#Acceleration-functions-without-error-estimation" rel="next" title="Acceleration functions without error estimation">
<link href="Series-Acceleration.html#Series-Acceleration" rel="previous" title="Series Acceleration">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Acceleration-functions"></a>
<div class="header">
<p>
Next: <a href="Acceleration-functions-without-error-estimation.html#Acceleration-functions-without-error-estimation" accesskey="n" rel="next">Acceleration functions without error estimation</a>, Up: <a href="Series-Acceleration.html#Series-Acceleration" accesskey="u" rel="up">Series Acceleration</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Acceleration-functions-1"></a>
<h3 class="section">31.1 Acceleration functions</h3>

<p>The following functions compute the full Levin <em>u</em>-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>
<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>
<p>The calculation of the error in the extrapolated value is an
<em>O(N^2)</em> 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 <em>O(N)</em> must be computed and stored, but this
does give a reliable error estimate.
</p>
<dl>
<dt><a name="index-gsl_005fsum_005flevin_005fu_005falloc"></a>Function: <em>gsl_sum_levin_u_workspace *</em> <strong>gsl_sum_levin_u_alloc</strong> <em>(size_t <var>n</var>)</em></dt>
<dd><a name="index-gsl_005fsum_005flevin_005fu_005fworkspace"></a>
<p>This function allocates a workspace for a Levin <em>u</em>-transform of <var>n</var>
terms.  The size of the workspace is <em>O(2n^2 + 3n)</em>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fsum_005flevin_005fu_005ffree"></a>Function: <em>void</em> <strong>gsl_sum_levin_u_free</strong> <em>(gsl_sum_levin_u_workspace * <var>w</var>)</em></dt>
<dd><p>This function frees the memory associated with the workspace <var>w</var>.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005fsum_005flevin_005fu_005faccel"></a>Function: <em>int</em> <strong>gsl_sum_levin_u_accel</strong> <em>(const double * <var>array</var>, size_t <var>array_size</var>, gsl_sum_levin_u_workspace * <var>w</var>, double * <var>sum_accel</var>, double * <var>abserr</var>)</em></dt>
<dd><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 <em>u</em>-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></dd></dl>


<hr>
<div class="header">
<p>
Next: <a href="Acceleration-functions-without-error-estimation.html#Acceleration-functions-without-error-estimation" accesskey="n" rel="next">Acceleration functions without error estimation</a>, Up: <a href="Series-Acceleration.html#Series-Acceleration" accesskey="u" rel="up">Series Acceleration</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>