GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
liboctave
cruft
slatec-fn
initds.f
Go to the documentation of this file.
1
*DECK INITDS
2
FUNCTION
initds
(OS, NOS, ETA)
3
C***BEGIN PROLOGUE INITDS
4
C***PURPOSE Determine the number of terms needed in an orthogonal
5
C polynomial series so that it meets a specified accuracy.
6
C***LIBRARY SLATEC (FNLIB)
7
C***CATEGORY C3A2
8
C***TYPE DOUBLE PRECISION (INITS-S, INITDS-D)
9
C***KEYWORDS CHEBYSHEV, FNLIB, INITIALIZE, ORTHOGONAL POLYNOMIAL,
10
C ORTHOGONAL SERIES, SPECIAL FUNCTIONS
11
C***AUTHOR Fullerton, W., (LANL)
12
C***DESCRIPTION
13
C
14
C Initialize the orthogonal series, represented by the array OS, so
15
C that INITDS is the number of terms needed to insure the error is no
16
C larger than ETA. Ordinarily, ETA will be chosen to be one-tenth
17
C machine precision.
18
C
19
C Input Arguments --
20
C OS double precision array of NOS coefficients in an orthogonal
21
C series.
22
C NOS number of coefficients in OS.
23
C ETA single precision scalar containing requested accuracy of
24
C series.
25
C
26
C***REFERENCES (NONE)
27
C***ROUTINES CALLED XERMSG
28
C***REVISION HISTORY (YYMMDD)
29
C 770601 DATE WRITTEN
30
C 890531 Changed all specific intrinsics to generic. (WRB)
31
C 890831 Modified array declarations. (WRB)
32
C 891115 Modified error message. (WRB)
33
C 891115 REVISION DATE from Version 3.2
34
C 891214 Prologue converted to Version 4.0 format. (BAB)
35
C 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
36
C***END PROLOGUE INITDS
37
DOUBLE PRECISION
os(*)
38
C***FIRST EXECUTABLE STATEMENT INITDS
39
IF
(nos .LT. 1) CALL
xermsg
(
'SLATEC'
,
'INITDS'
,
40
+
'Number of coefficients is less than 1'
, 2, 1)
41
C
42
err = 0.
43
DO
10 ii = 1,nos
44
i = nos + 1 - ii
45
err = err +
abs
(
REAL
(os(i)))
46
IF
(err.GT.eta) go to 20
47
10
CONTINUE
48
C
49
20
IF
(i .EQ. nos) CALL
xermsg
(
'SLATEC'
,
'INITDS'
,
50
+
'Chebyshev series too short for specified accuracy'
, 1, 1)
51
initds
= i
52
C
53
RETURN
54
END
Generated on Mon Dec 30 2013 03:04:47 for GNU Octave by
1.8.1.2