-- 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;