GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
may be zero for pure relative error test tem the relative tolerance must be greater than or equal to
Definition: Quad-opts.cc:233
function initds(OS, NOS, ETA)
Definition: initds.f:2
subroutine xermsg(LIBRAR, SUBROU, MESSG, NERR, LEVEL)
Definition: xermsg.f:2
OCTAVE_EXPORT octave_value_list return the value of the option it must match the dimension of the state and the relative tolerance must also be a vector of the same length tem it must match the dimension of the state and the absolute tolerance must also be a vector of the same length The local error test applied at each integration step is xample roup abs(local error in x(i))<