0024859: Replace SortTools by STL equivalents
[occt.git] / src / math / math.cdl
CommitLineData
b311480e 1-- Created on: 1991-01-21
2-- Created by: Isabelle GRIGNON
3-- Copyright (c) 1991-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
b311480e 16
7fd59977 17-- Modified by PMN 29/02/96: GaussSetIntegration added
18-- Modified by PMN 03/05/96: NewtonMinimum added
7fd59977 19
20
21package math
22
e35db416 23uses StdFail, TColStd, TCollection, Standard
7fd59977 24
25is
26
27 ---Level : Public
28 -- All methods of all classes of this package will be public.
29
30
31
32 enumeration Status is
33 OK,
34 TooManyIterations,
35 FunctionError,
36 DirectionSearchError,
37 NotBracketed
38 end Status;
39
40 exception NotSquare inherits DimensionError;
41 exception SingularMatrix inherits Failure;
42
43
3b010a74 44 imported Vector;
45 imported IntegerVector;
7fd59977 46 class Matrix;
47 deferred class Function;
48 deferred class FunctionWithDerivative;
49 deferred class MultipleVarFunction;
50 deferred class MultipleVarFunctionWithGradient;
51 deferred class MultipleVarFunctionWithHessian;
52 deferred class FunctionSet;
53 deferred class FunctionSetWithDerivatives;
4bbaf12b 54 imported GlobOptMin;
1d33d22b 55 imported PSO;
56 imported PSOParticlesPool;
57 imported BullardGenerator;
7fd59977 58 class Gauss;
59 class GaussLeastSquare;
60 class SVD;
61 class DirectPolynomialRoots;
62 class FunctionRoots;
63 class BissecNewton;
64 class FunctionRoot;
65 class NewtonFunctionRoot;
66 class BracketedRoot;
67 class FunctionSetRoot;
68 class NewtonFunctionSetRoot;
69 class BracketMinimum;
70 class BrentMinimum;
71 class Powell;
72 class FRPR;
73 class BFGS;
74 class NewtonMinimum;
75 class Jacobi;
76 class GaussSingleIntegration;
77 class GaussMultipleIntegration;
78 class GaussSetIntegration;
7fd59977 79 class FunctionSample;
80 class FunctionAllRoots;
81 class Householder;
82 class Crout;
83 class Uzawa;
84 class TrigonometricFunctionRoots;
85 class KronrodSingleIntegration; -- SKV: Kronrod method implementation.
86 class EigenValuesSearcher; -- for Kronrod method
87 class ComputeGaussPointsAndWeights;
88 class ComputeKronrodPointsAndWeights;
e35db416 89 imported ValueAndWeight;
df8d3970 90 imported Array1OfValueAndWeight;
7fd59977 91
3b010a74 92 class DoubleTab;
7fd59977 93
94 --- Gauss Points
95
96 GaussPointsMax returns Integer;
97
98 GaussPoints(Index : Integer; Points : out Vector from math);
99
100 GaussWeights(Index : Integer; Weights : out Vector from math);
101
102-- Modified by skv - Wed Dec 7 15:32:31 2005 Kronrod method. Begin
103 KronrodPointsMax returns Integer;
104 ---Purpose: Returns the maximal number of points for that the values
105 -- are stored in the table. If the number is greater then
106 -- KronrodPointsMax, the points will be computed.
107
108 OrderedGaussPointsAndWeights(Index : Integer;
109 Points : out Vector from math;
110 Weights : out Vector from math)
111 ---Purpose: Returns a vector of Gauss points and a vector of their weights.
112 -- The difference with the
113 -- method GaussPoints is the following:
114 -- - the points are returned in increasing order.
115 -- - if Index is greater then GaussPointsMax, the points are
116 -- computed.
117 -- Returns Standard_True if Index is positive, Points' and Weights'
118 -- length is equal to Index, Points and Weights are successfully computed.
119 returns Boolean from Standard;
120
121 KronrodPointsAndWeights(Index : Integer;
122 Points : out Vector from math;
123 Weights : out Vector from math)
124 ---Purpose: Returns a vector of Kronrod points and a vector of their
125 -- weights for Gauss-Kronrod computation method.
126 -- Index should be odd and greater then or equal to 3,
127 -- as the number of Kronrod points is equal to 2*N + 1,
128 -- where N is a number of Gauss points. Points and Weights should
129 -- have the size equal to Index. Each even element of Points
130 -- represents a Gauss point value of N-th Gauss quadrature.
131 -- The values from Index equal to 3 to 123 are stored in a
132 -- table (see the file math_Kronrod.cxx). If Index is greater,
133 -- then points and weights will be computed. Returns Standard_True
134 -- if Index is odd, it is equal to the size of Points and Weights
135 -- and the computation of Points and Weights is performed successfully.
136 -- Otherwise this method returns Standard_False.
137 returns Boolean from Standard;
138
139-- Modified by skv - Wed Dec 7 15:32:31 2005 Kronrod method. End
140
141end math;
142
143