mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-05 18:16:23 +03:00
158 lines
5.9 KiB
Plaintext
Executable File
158 lines
5.9 KiB
Plaintext
Executable File
-- Created on: 1991-01-21
|
|
-- Created by: Isabelle GRIGNON
|
|
-- Copyright (c) 1991-1999 Matra Datavision
|
|
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
|
--
|
|
-- The content of this file is subject to the Open CASCADE Technology Public
|
|
-- License Version 6.5 (the "License"). You may not use the content of this file
|
|
-- except in compliance with the License. Please obtain a copy of the License
|
|
-- at http://www.opencascade.org and read it completely before using this file.
|
|
--
|
|
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
|
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
|
--
|
|
-- The Original Code and all software distributed under the License is
|
|
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
|
-- Initial Developer hereby disclaims all such warranties, including without
|
|
-- limitation, any warranties of merchantability, fitness for a particular
|
|
-- purpose or non-infringement. Please see the License for the specific terms
|
|
-- and conditions governing the rights and limitations under the License.
|
|
|
|
-- Modified by PMN 29/02/96: GaussSetIntegration added
|
|
-- Modified by PMN 03/05/96: NewtonMinimum added
|
|
|
|
|
|
package math
|
|
|
|
uses StdFail, TColStd, TCollection, Standard, SortTools
|
|
|
|
is
|
|
|
|
---Level : Public
|
|
-- All methods of all classes of this package will be public.
|
|
|
|
|
|
|
|
enumeration Status is
|
|
OK,
|
|
TooManyIterations,
|
|
FunctionError,
|
|
DirectionSearchError,
|
|
NotBracketed
|
|
end Status;
|
|
|
|
exception NotSquare inherits DimensionError;
|
|
exception SingularMatrix inherits Failure;
|
|
|
|
|
|
class Vector;
|
|
class IntegerVector;
|
|
class Matrix;
|
|
deferred class Function;
|
|
deferred class FunctionWithDerivative;
|
|
deferred class MultipleVarFunction;
|
|
deferred class MultipleVarFunctionWithGradient;
|
|
deferred class MultipleVarFunctionWithHessian;
|
|
deferred class FunctionSet;
|
|
deferred class FunctionSetWithDerivatives;
|
|
class IntegerRandom;
|
|
class Gauss;
|
|
class GaussLeastSquare;
|
|
class SVD;
|
|
class DirectPolynomialRoots;
|
|
class FunctionRoots;
|
|
class BissecNewton;
|
|
class FunctionRoot;
|
|
class NewtonFunctionRoot;
|
|
class BracketedRoot;
|
|
class FunctionSetRoot;
|
|
class NewtonFunctionSetRoot;
|
|
class BracketMinimum;
|
|
class BrentMinimum;
|
|
class Powell;
|
|
class FRPR;
|
|
class BFGS;
|
|
class NewtonMinimum;
|
|
class Jacobi;
|
|
class GaussSingleIntegration;
|
|
class GaussMultipleIntegration;
|
|
class GaussSetIntegration;
|
|
class RealRandom;
|
|
class FunctionSample;
|
|
class FunctionAllRoots;
|
|
class Householder;
|
|
class Crout;
|
|
class Uzawa;
|
|
class TrigonometricFunctionRoots;
|
|
class KronrodSingleIntegration; -- SKV: Kronrod method implementation.
|
|
class EigenValuesSearcher; -- for Kronrod method
|
|
class ComputeGaussPointsAndWeights;
|
|
class ComputeKronrodPointsAndWeights;
|
|
class ValueAndWeight;
|
|
class Array1OfValueAndWeight
|
|
instantiates Array1 from TCollection (ValueAndWeight from math);
|
|
class CompareOfValueAndWeight;
|
|
class QuickSortOfValueAndWeight
|
|
instantiates QuickSort from SortTools (ValueAndWeight from math,
|
|
Array1OfValueAndWeight from math,
|
|
CompareOfValueAndWeight from math);
|
|
|
|
generic class SingleTab;
|
|
generic class DoubleTab;
|
|
|
|
--- Instantiate classes:
|
|
class SingleTabOfReal instantiates SingleTab(Real);
|
|
class SingleTabOfInteger instantiates SingleTab(Integer);
|
|
class DoubleTabOfReal instantiates DoubleTab(Real);
|
|
|
|
--- Gauss Points
|
|
|
|
GaussPointsMax returns Integer;
|
|
|
|
GaussPoints(Index : Integer; Points : out Vector from math);
|
|
|
|
GaussWeights(Index : Integer; Weights : out Vector from math);
|
|
|
|
-- Modified by skv - Wed Dec 7 15:32:31 2005 Kronrod method. Begin
|
|
KronrodPointsMax returns Integer;
|
|
---Purpose: Returns the maximal number of points for that the values
|
|
-- are stored in the table. If the number is greater then
|
|
-- KronrodPointsMax, the points will be computed.
|
|
|
|
OrderedGaussPointsAndWeights(Index : Integer;
|
|
Points : out Vector from math;
|
|
Weights : out Vector from math)
|
|
---Purpose: Returns a vector of Gauss points and a vector of their weights.
|
|
-- The difference with the
|
|
-- method GaussPoints is the following:
|
|
-- - the points are returned in increasing order.
|
|
-- - if Index is greater then GaussPointsMax, the points are
|
|
-- computed.
|
|
-- Returns Standard_True if Index is positive, Points' and Weights'
|
|
-- length is equal to Index, Points and Weights are successfully computed.
|
|
returns Boolean from Standard;
|
|
|
|
KronrodPointsAndWeights(Index : Integer;
|
|
Points : out Vector from math;
|
|
Weights : out Vector from math)
|
|
---Purpose: Returns a vector of Kronrod points and a vector of their
|
|
-- weights for Gauss-Kronrod computation method.
|
|
-- Index should be odd and greater then or equal to 3,
|
|
-- as the number of Kronrod points is equal to 2*N + 1,
|
|
-- where N is a number of Gauss points. Points and Weights should
|
|
-- have the size equal to Index. Each even element of Points
|
|
-- represents a Gauss point value of N-th Gauss quadrature.
|
|
-- The values from Index equal to 3 to 123 are stored in a
|
|
-- table (see the file math_Kronrod.cxx). If Index is greater,
|
|
-- then points and weights will be computed. Returns Standard_True
|
|
-- if Index is odd, it is equal to the size of Points and Weights
|
|
-- and the computation of Points and Weights is performed successfully.
|
|
-- Otherwise this method returns Standard_False.
|
|
returns Boolean from Standard;
|
|
|
|
-- Modified by skv - Wed Dec 7 15:32:31 2005 Kronrod method. End
|
|
|
|
end math;
|
|
|
|
|