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 | |
21 | package math |
22 | |
23 | uses StdFail, TColStd, TCollection, Standard, SortTools |
24 | |
25 | is |
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; |
89 | class ValueAndWeight; |
90 | class Array1OfValueAndWeight |
91 | instantiates Array1 from TCollection (ValueAndWeight from math); |
92 | class CompareOfValueAndWeight; |
93 | class QuickSortOfValueAndWeight |
94 | instantiates QuickSort from SortTools (ValueAndWeight from math, |
95 | Array1OfValueAndWeight from math, |
96 | CompareOfValueAndWeight from math); |
97 | |
3b010a74 |
98 | class DoubleTab; |
7fd59977 |
99 | |
100 | --- Gauss Points |
101 | |
102 | GaussPointsMax returns Integer; |
103 | |
104 | GaussPoints(Index : Integer; Points : out Vector from math); |
105 | |
106 | GaussWeights(Index : Integer; Weights : out Vector from math); |
107 | |
108 | -- Modified by skv - Wed Dec 7 15:32:31 2005 Kronrod method. Begin |
109 | KronrodPointsMax returns Integer; |
110 | ---Purpose: Returns the maximal number of points for that the values |
111 | -- are stored in the table. If the number is greater then |
112 | -- KronrodPointsMax, the points will be computed. |
113 | |
114 | OrderedGaussPointsAndWeights(Index : Integer; |
115 | Points : out Vector from math; |
116 | Weights : out Vector from math) |
117 | ---Purpose: Returns a vector of Gauss points and a vector of their weights. |
118 | -- The difference with the |
119 | -- method GaussPoints is the following: |
120 | -- - the points are returned in increasing order. |
121 | -- - if Index is greater then GaussPointsMax, the points are |
122 | -- computed. |
123 | -- Returns Standard_True if Index is positive, Points' and Weights' |
124 | -- length is equal to Index, Points and Weights are successfully computed. |
125 | returns Boolean from Standard; |
126 | |
127 | KronrodPointsAndWeights(Index : Integer; |
128 | Points : out Vector from math; |
129 | Weights : out Vector from math) |
130 | ---Purpose: Returns a vector of Kronrod points and a vector of their |
131 | -- weights for Gauss-Kronrod computation method. |
132 | -- Index should be odd and greater then or equal to 3, |
133 | -- as the number of Kronrod points is equal to 2*N + 1, |
134 | -- where N is a number of Gauss points. Points and Weights should |
135 | -- have the size equal to Index. Each even element of Points |
136 | -- represents a Gauss point value of N-th Gauss quadrature. |
137 | -- The values from Index equal to 3 to 123 are stored in a |
138 | -- table (see the file math_Kronrod.cxx). If Index is greater, |
139 | -- then points and weights will be computed. Returns Standard_True |
140 | -- if Index is odd, it is equal to the size of Points and Weights |
141 | -- and the computation of Points and Weights is performed successfully. |
142 | -- Otherwise this method returns Standard_False. |
143 | returns Boolean from Standard; |
144 | |
145 | -- Modified by skv - Wed Dec 7 15:32:31 2005 Kronrod method. End |
146 | |
147 | end math; |
148 | |
149 | |