The invention relates to providing assistance in analyzing technical data obtained by a technical, scientific, or engineering simulation method. The invention can thus relate to a very broad range of applications in numerous technical and scientific sectors, of which the following may be mentioned by way of example: microelectronics and micro- and nano-technologies (e.g. using technology computer aided design (TCAD) software, or simulation program with integrated circuit emphasis (SPICE) software), automobile, aviation, or space manufacture, building and public works, chemistry, mining, oil, and gas extraction, energy, the agrifood business, transport, finance, and digitally processing audio and/or video data.
In all of those domains, the person skilled in the art often seeks to understand or to visualize a phenomenon, or to optimize a part, a device, or a method, or to study sensitivity, variability, or reverse modeling, or to perform statistical or yield studies, or to create programs that simulate certain results within a fixed range of parameters.
To achieve this purpose, the person skilled in the art often has technical or scientific or engineering software available that enables the device, phenomenon, or concept under study to be simulated, and more particularly methods that are characterized by the following facts:
Known methods for technical or scientific or engineering simulation are often rather expensive, i.e. they require a large amount of processor (CPU) time and/or memory resources and/or archiving space. This implies that it is often difficult or impossible to implement the simulation for a large number of cases, e.g. several thousands or several tens of thousands or even hundreds of thousands or millions of cases, each case being defined by the values of the various parameters. Unfortunately, it is often necessary for the person skilled in the art to be capable of estimating what would be the responses for a large number of cases. It is therefore necessary to have means available for making such estimates.
To achieve this purpose (which is often understanding or visualizing a phenomenon, or optimizing a device or a method, or performing sensitivity, variability, or reverse modeling studies, or performing statistical or yield studies, or creating programs that simulate certain results in a fixed range of parameters), it is known to construct so-called “metamodels”.
A metamodel is defined herein as an analytic function that should be capable of being calculated fast by a computer, that gives a response, and that depends on a plurality of numerical parameters. Because the metamodel can be calculated very quickly, it replaces the full software in numerous applications, e.g. visualizing phenomena, optimizing, studying sensitivity, variability, or reverse modeling, statistical or yield studies, etc. . . . .
Such a metamodel is constructed from a certain number of simulations for which the parameters vary over a certain range. It is recommended to select simulations using digital simulation plane techniques, e.g. as described by Thomas J. Santner, Brian J. Williams, and William I. Notz in “Design and analysis of computer experiments”, Springer Series in Statistics, 2003.
The term “training base” is used to designate such a set of simulations carried out using the method and serving as a basis for building the metamodel. Typically this training base contains several tens to several hundreds or thousands of simulations represented by training vectors, but there is no harm in the base having a greater or smaller number thereof.
Given that the method is assumed to be deterministic, responses are entirely reproducible, and it is most preferable for the metamodel, when applied to one of the points in the training base, to return either exactly the same value as the response obtained by the software at said point, or else a value that is very close, i.e. the metamodel could either be an “interpolator” or a “quasi-interpolator”. An interpolator is a metamodel that passes exactly through all of the training points, whereas a quasi-interpolator is a metamodel that passes very close to all of the training points.
The term “very close to all of the points in the training base” should be understood as meaning that the residual variance must be small compared with the total variance, for example less 0.01 times the total variance, or better, for example, less than 0.001 times the total variance, or better still, for example, less than 0.0001 times the total variance.
The residual variance is defined herein as follows (in highly conventional manner) by:
and the total variance is defined herein (in conventional manner) by:
The ωj are weights that are all positive or zero (by default, if there are no predefined weights, all of the weights ωj are taken as being equal to 1). n is the number of simulations in the training base. Xj is the vector representing the set of parameters for the jth simulation, Rsimulation,j is the value of the response for the jth simulation, Rmetamodel(Xj) is the metamodel associated with this response. <Rsimulation> is the mean weighted by the weights ωj of all of the simulations in the training base.
A first known way of constructing the metamodel is to look for it in the form of a polynomial depending on various parameters. Under such circumstances, the metamodel is often referred to as a “response surface”, even though this term sometimes covers a greater set of metamodels, according to some authors. For example, the response R represented by a polynomial of total degree q depending on p variables x1, x2, . . . , xk, . . . , xd is written as follows:
R=Σα
i
i
. . . i
. . . i
·x
1
i
·x
2
i
· . . . ·x
k
i
· . . . ·
with, for all ik, 0≦ik≦q, and the total degree is q, i.e. the coefficients:
αi
are zero if the sum i1+i2+ . . . +ik+ . . . +id is greater than q.
The coefficients:
αi
define the polynomial. In order to determine them, the most conventional method is to perform a least squares regression. This amounts to minimizing the sum S of the (optionally weighted) squares of the differences relative to the response as genuinely simulated (obtained from the scientific or technical software), i.e. the residual variance:
The weights ωj are all positive or zero. Xj is the vector representing the set of parameters for the jth simulation, Rsimulation,j is the value of the response for the jth simulation, Rmetamodel is the metamodel associated with said response.
Details concerning least squares regressions and the method used for determining the numerical values of the coefficients:
αi
are known to the person skilled in the art and are described for example in G. E. P. Box and N. R. Draper, “Empirical model-building and response surfaces”, Wiley series in Probability and Mathematical Statistics, 1987, or indeed W.H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, “Numerical recipes, the art of scientific computing”, third edition, Cambridge University Press, 2007.
The main drawback of building a metamodel using polynomials lies in the following dilemma:
αi
that is equal to (or hardly any less than) the total number of simulations in the training base. Under such circumstances, the person skilled in the art knows that the behavior of the polynomial is highly chaotic in interpolation and even worse in extrapolation, making such interpolations and extrapolations unreliable; and
To mitigate those drawbacks, the person skilled in the art frequently makes use of various kriging methods for constructing a metamodel. A good introduction to such kriging methods (initially used in geostatistics) is to be found for example in the above-mentioned work by Thomas J. Santner et al. Kriging is a spatial interpolation method that is sometimes considered as being the most accurate from a statistical point of view, that makes it possible to achieve a linear estimate that is based on mathematical expectation and also on the variance of the spatialized data item. It involves the correlation function between the value of the function at points Xi and Xj, where Xi and Xj each represents a set of numerical values for d parameters, thus, for example, each represents a simulation by the software. Mathematically, they are elements of d, i.e. vectors made up of d real terms ( being the set of real numbers), and the basic assumption is that this correlation function depends only on a “distance” (in the mathematical sense of the word) between the points Xi and Xj, written ∥Xi−Xj∥, which distance may be defined for example by:
where xi(k) is the kth component of Xi (the kth parameter) The magnitudes θk are often referred to as the “ranges” of the parameter k. They must be non-zero and they are usually selected to be positive.
A conventional (but not unique, there are many others) example of a correlation function r(X, Xj) between X and Xj is as follows:
The metamodel given kriging has the form:
where:
In a kriging variant known as ordinary kriging, p=1 (only one trend term) and g1(X)=1 (this term is constant and equal to unity).
In universal kriging, which is another variant of kriging, there is a plurality of trend terms. A conventional choice for universal kriging is to take p=d+1 and to select the d linear effects:
gj(X)=x(j)
and one constant term gd+1(X)=1.
Another conventional choice for universal kriging is to select the p most influential terms as determined by an analysis of variance performed on the training base using the various monomials taken from a polynomial of total degree 2 or 3 as the candidate functions.
The way of obtaining the p coefficients βi and the n coefficients λi is known to the person skilled in the art and is described in numerous works, for example in the work by Thomas J. Santner et al. It requires linear systems of size n×n to be solved with a plurality of second members. That document also describes statistical methods for determining the optimum ranges θk, but they are often iterative methods that require rather large quantities of calculation.
Kriging is a conventional method of constructing an interpolator. It is also possible (at the cost of considerable calculation) to use the intermediate kriging calculations to estimate a standard deviation at each point around the metamodel and on the basis of confidence intervals. The standard deviations are zero for the training points (the function is an interpolator) and they increase on going further away from the training points.
The way in which these standard deviations are obtained is known to the person skilled in the art. It is described in numerous works, for example in the above-mentioned work by Thomas J. Santner et al.
Nevertheless, kriging suffers from a certain number of drawbacks:
The invention thus provides a method of interpolating technical data, the method comprising using a computer to construct a metamodel from simulations setting up a training base comprising technical data vectors Xi, for i lying in the range 1 to n, each vector presenting components xi(k), k varying from 1 to d, wherein the metamodel is a multidimensional pseudo-cubic thin plate type interpolation or quasi-interpolation spline having an analytic function ƒ(X):
σk designating the standard deviation of the kth components; and
dilk being a scale expansion optionally associated with said kth component (dilk increasing with increasing non-linear effects associated with said parameter)
λi and αk being the solutions of a symmetrical linear system of dimension (n+d+1)2:
for iε{1, 2, 3, . . . , n}
for kε{1, 2, 3, . . . , d}
yi designating the value of the response for the ith simulation for the parameter value Xi, ωi being a weight associated with the ith simulation. If the simulations are not weighted, i.e. if they all have the same importance, then ωi=1 for all i;
ρ is a smoothing parameter, which is infinite for an interpolation spline (true interpolation). Generally speaking, the greater the smoothing parameter, the smaller the residual variance. The smoothing parameter ρ is considered as being “large” if the metamodel obtained in this way is a quasi-interpolator. By way of example, ρ may be selected to lie in the range 103 to 1012, and more particularly in the range 104 to 1010.
In order to determine the scale expansions dilk, the following operations may be performed:
a) starting from an initial estimate of the d scale expansions dilk;
b) randomly or pseudo-randomly partitioning the n simulation results Xi into np disjoint portions (p≧1);
c) iterating over P portions with P≦np;
d) initializing a cross-validation variance to zero;
e) calculating a cross-validation variance from the scale expansion values dilk;
f) choosing new scale expansion values that minimize said cross-validation variance obtained during e); and
g) iterating from e) with said new scale expansion values; and
g′) optionally, between e) and f) or between f) and g) testing convergence with a convergence criterion, and if the criterion is satisfied, exiting the iterative process with the current scale expansion values.
Preferably, P<np and the portions are selected randomly.
In order to calculate a cross-validation variance, for p varying from 1 to P, step e) may comprise:
e1) temporarily eliminating all of the simulation results in said portion;
e2) determining the function ƒ(X) without these points;
e3) using the function ƒ(X) solely for recalculating the predicted values over the nq temporarily eliminated points;
e4) incrementing the cross-validation variance by the sum of the squares of the differences between the predicted values for the temporarily eliminated points and the simulation values for the temporarily eliminated points, this sum being applied to all of the temporarily eliminated points; and
e5) reintegrating the temporarily eliminated points.
The value of np may lie in the range 5 to 50 for example.
For nq being the number of results in the qth portion, nq may be substantially the same for each portion, and in particular:
More particularly, it is possible to have p=1, np=n, and nq=1 for all q.
In a preferred variant, in order to calculate the scale expansions dilk, the method may comprise:
a′) starting from an initial estimate of all of the scale expansions, satisfying the condition
in particular dilk=1 for all k;
b′) constructing the multidimensional pseudo-cubic thin plate type spline function ƒ(X) with said scale expansions;
c′) calculating the d second derivatives of the multidimensional pseudo-cubic thin plate type spline function relative to the d parameters:
for k=1 to d, and doing this for each of the n points in the training base (i varying from 1 to n);
d′) for each of the d parameters, calculating the root mean square over all of the points in the training base, of the second derivatives calculated in step c′), this root mean square being defined by:
for k lying in the range 1 to d
e′) for this set of scale expansions, calculating a cross-validation variance or a generalized cross-validation variance;
f′) from the second iteration of the iterative process and if the variance is greater than that obtained at the preceding iteration, exiting the iterative process with the scale expansion values of the preceding iteration and retaining the multidimensional pseudo-cubic thin plate type spline function for these scale expansions of the preceding iteration;
g′) calculating the geometrical mean C of the above-defined quantities SQD2F(k) weighted by the square of σk:
h′) calculating new scale expansions, in particular using the following formula:
i′) optionally, testing the convergence of the iterative process, this may be done for example by testing the maximum of the absolute values of relative variations between dilk and new_dilk, i.e. by comparing the following quantity:
with, for example, a predefined convergence threshold. If this quantity is less than the convergence threshold, then convergence is deemed to have been achieved and the iterative process is exited. The new scale expansions obtained in h′) are retained;
i1′) (optionally) verifying the proper behavior of the iterative process, e.g. by verifying at least one condition, i.e. whether the number of iterations is less than a maximum allowed number of iterations, and/or whether the ratio:
max(new_dilk, k=1 to d)/min(new_dilk, k=1 to d) is less than another predefined threshold, and if a said condition is not satisfied, exiting the iterative process, where max and min designate the maximum and minimum values for the d parameters in the parentheses;
j′) updating the scale expansions, i.e. replacing dilk for k=1 to d with new_dilk for k=1 to d, and returning to step b′) for the next iteration, from these updated scale expansions.
In order to calculate the scale expansions, it is advantageous when the metamodel is a quasi-interpolator to use a generalized cross-validation variance GCV. For this purpose, said cross-validation variance may be a generalized variance GCV, with:
and trace (Aρ) is the trace of the smoothing matrix Aρ that causes the vector Y of the n responses yi to change to the vector F of the n quasi-interpolated values f(Xi): i.e.:
F=A
r
·Y
with
F=(f(X1), f(X2), . . . , f(Xi), . . . , f(Xn))t
and
Y=(y1, y2, . . . , yi, . . . , yn)t
the index t designating the transposed matrix, the spline being calculated with a smoothing parameter ρ that is not infinite, but that is such that the metamodel can be considered as being a quasi-interpolator.
The parameter trace(Aρ) may be calculated in particular by using a Monte-Carlo method.
The invention can be better understood on reading the following description,
The idea on which the invention is based is thus to use as metamodels interpolation or quasi-interpolation splines that are multidimensional, pseudo-cubic, and of the thin plate type. Although known, these splines are relatively rarely used in the literature, and they form part of the family of multidimensional splines that are invariant in rotation, making use of radial base functions, being known to the person skilled in the art from the following document:
The way in which a symmetrical linear system is solved is conventional, being very well known to the person skilled in the art, and described in numerous works, and programmed in numerous mathematical libraries or programs.
The families of multidimensional splines used in the context of the present invention have functions of d in , where d is the dimension of the space, i.e. the number of parameters.
In general, a smoothing spline is a function ƒ that minimizes a total energy, the sum of a bending energy plus a residual variance multiplied by the smoothing parameter ρ:
where n is the number of points, yi is the value of the response for the ith simulation, and Xi is the vector of explanatory variables, i.e. the values of the d parameters for the ith simulation, and ωi is the weight given to the ith point or simulation.
Each spline family is characterized by the expression for its bending energy. For pseudo-cubic multidimensional splines of the “thin plate” type, the bending energy is, according to the above-mentioned document by J. Duchon, given by:
where d is the dimension of the explanatory variables space and Four is the Fourier transform in d, the square of the Fourier transform being the square of the norm.
The least squares regression corresponds to the limiting case of ρ→0.
The interpolation spline corresponds to the limiting case of pρ→∞: the spline must pass through all of the points, i.e. the residual variance is zero, and the bending energy is minimized. An interpolation spline is a limiting case of a smoothing spline.
The quasi-interpolation spline corresponds to the case where the smoothing parameter ρ is large, i.e. the residual variant is small compared with the total variant of the yi, i.e. the residual variance is, for example, less than 0.01 times the total variance, or better the residual variance is, for example, less than 0.001 times the total variance, or better still the residual variance is, for example, less than 0.0001 times the total variance.
The residual variance is defined here (in highly conventional manner) as follows:
and the total variance is defined herein (in conventional manner) as follows:
where <y> is the mean value of the n values yi weighted by the weights ωi.
The use of multidimensional pseudo-cubic thin plate type smoothing splines for analyzing experimental results is already known to the person skilled in the art, e.g. from the publication by F. DeCrecy, “Pseudo-cubic thin plate spline method for analyzing experimental data”, published in Nuclear Engineering and Design, Vol. 149, pp. 459-465 (1994).
The analytic form of a multidimensional pseudo-cubic thin plate type spline is as follows, regardless of whether it is an interpolation spline or a smoothing spline:
where x(k) is the kth component (or parameter) of X, Xi is the vector of d parameter values for the ith stimulation, and where the norm is defined by:
σk being a positive characteristic magnitude associated with the kth components of Xi, e.g. the standard deviation of the values of the kth components of the Xi (i.e. of the values for the kth parameter), and where dilk is the scale expansion associated with the kth parameter. Where appropriate, these scale expansions represent the relative importance of the non-linear effects of the various parameters. They are generally selected to be positive. The greater their values, the greater the non-linear effects associated with the parameter. It is frequent and recommended, but not essential, to impose an additional condition on these scale expansions, for example:
Such a spline is defined for all d. On going away from the zone where there are points Xi, it tends locally towards a hyperplane.
For each value of the smoothing parameter ρ and of the scale expansion dilk, the coefficients λj and αk are solutions of a symmetrical linear system of dimension (n+d+1)×(n+d+1). This system is:
for iε{1, 2, 3, . . . , n}
for kε{1, 2, 3, . . . , d}
The person skilled in the art knows how to use a computer to solve this linear system. Numerous methods exist, and the most conventional methods are described in the above-mentioned document by W.H. Press et al.
Within this context, the notation is the same as that described above: in particular, the norm involves scale expansions. The yi are the magnitudes to be smoothed or interpolated (measurement results or simulation responses: yi is the value of the response for the ith simulation) for the value Xi of the parameters.
A quasi-interpolation smoothing spline is obtained when the smoothing parameter ρ is large enough to ensure that the metamodel is a quasi-interpolation.
With an interpolation spline, ρ=∞, and the system simplifies directly into:
for iε={1, 2, 3, . . . , n}
for kε{1, 2, 3, . . . , d}
For an interpolation, the main diagonal of the matrix associated with this symmetrical linear system therefore contains only zeros.
It is recommended, where appropriate, to select scale expansions dilk associated with various parameters, if account is to be taken of non-linearity.
A first variant is to use a method of the simple “cross-validation” variance (CVV) type. Cross-validation techniques are conventional and are described in particular in the article by Ron Kohavi, “A study of cross-validation and bootstrap for accuracy estimation and model selection”, International Joint Conference on Artificial Intelligence ISCA, 1995.
In outline, it comprises the following procedure (see
1) Starting from an initial estimate of the d scale expansions dilk, kε{1, 2, 3, . . . , d}.
2) Partitioning all of the n simulation results of the training base in random or pseudo-random manner to obtain np disjoint portions. A conventional choice is to select np in the range 5 to 50. Let nq be the number of results in the qth portion. A conventional choice is to have the same order of magnitude nq for all portions. A recommended choice is to have
equal to n or close to n. If plenty of computation time is available, a choice that is recommended, reliable, and robust (but time consuming) is to take np=n and nq=1, for all q.
3) Choosing P portions on which interactions are to be performed. It is preferable to have P=np, but that often leads to calculation that is very lengthy. Thus, it is sometimes preferable to take P<np. The portions that are selected are selected randomly.
4) Initialize cross-validation variance CVV as zero.
5) For q=1 to P: {iterating over the portions}.
6) Storing the value CVV of the variance associated with the scale expansions dilk used.
7) Choosing new scale expansion values in order to minimize the cross-validation variance CVV. There are numerous methods known to the person skilled in the art for selecting these new scale expansion values, e.g. the “Simplex” method or genetic algorithms or Powell's Direction Set Method. The Simplex method and Powell's method are described in the above-mentioned book by W.H. Press et al. Genetic algorithms are described in numerous works, for example the book by A. E. Eiben and J. E. Smith, “Introduction to evolutionary computing” 2003, Springer.
8) Testing convergence (e.g. small variation in the variance CVV or the scale expansions dilk). If convergence is not achieved, the method returns to step 4. This test can also be performed between steps 6 and 7.
Another difficulty comes from the fact that the various parameters may vary over ranges that are very different from one another, and this can give rise to problems for the stability of the (n+d+1)×(n+d+1) matrix associated with the linear system to be solved, if they are used directly without being transformed. That is why it is strongly recommended to work on non-dimensional parameters, e.g. centered parameters that have been reduced by the following formula:
where mk is the mean of the values for the kth parameter and σk is a positive characteristic magnitude associated with the kth parameter, e.g. the standard deviation of the values for the kth parameter. It is this non-dimensionalization that is performed above in the definition used for the norm.
A difficulty can sometimes arise in that the (n+d+1)×(n+d+1) matrix associated with the linear system to be solved is poorly conditioned, even with reduced centered parameters. This can happen, for example, when the distribution of simulations in d is very irregular, with a few simulations that are much closer together than the average. One way of solving this difficulty is to approximate the interpolation spline by a smoothing spline using a smoothing parameter ρ that is very large, e.g. lying in the range [103 to 1010], if all of the parameters and responses have been centered and reduced. With large values for the smoothing parameter ρ, the smoothing spline is very close to the interpolation spline: the resulting metamodel is a “quasi-interpolator”.
A second variant for choosing scale expansions (solely when using a quasi-interpolator, and not a true interpolator) is to perform generalized cross-validation GCV. This other technique is based on the fact that a good approximation to the above-defined simple cross-validation variance CVV is GCV, referred to as generalized cross-validation variance and defined by:
where it is assumed that the mean of the weights ωi is equal to 1, i.e.
and trace (Aρ) is the trace of the smoothing matrix, the smoothing matrix Aρ being the matrix that converts from the vector of n responses yi to the n quasi-interpolated values f (Xi):
F=A
ρ
•Y
the sign • designating a matrix product with
F=(f(X1), f(X2), . . . , f(Xi), . . . , f(Xn))t and Y=(y1, y2, . . . , yi, . . . , yn)t
A good approximation for the trace of Aρ and consequently for GCV can be found using Monte-Carlo method known to the person skilled in the art and described, for example in the document by D. A. Girard, “A fast “Monte-Carlo cross-validation” procedure for large least squares problems with noisy data”, Numerische Mathematik, Vol. 56, pp. 1-23, 1989. This method is much less expensive in calculation time than true cross-validation, but it is sometimes rather less robust and it does not apply to true interpolators.
In these first two variants, scale expansions are iterated in order to minimize CVV or GCV, as the case may be. The way in which these iterations are managed is well known to the person skilled in the art who seeks to minimize a function in a parameter space, and it is possible to use the conventional Simplex method or Powell's method (“Direction Set Method”).
A preferred, third variant, shown in
In order to understand this variant, use is made of intermediate variables u(k) defined as follows:
With this variant u(k), the norm used in the definition of the multidimensional pseudo-cubic thin plate type spline function h(U) becomes the conventional Euclidean norm:
where U is the vector having d components defined as follows:
and where the Ui values are obtained in the same manner from the Xi points of the training base. The d components of Ui are obtained from the d components of Xi using the formula:
The norm used is then the conventional Euclidean norm:
It should be observed that the coefficients λ are the same regardless of whether the spline is expressed in the form f(X) or h(U).
The idea on which this novel method is based is that of seeking to minimize CVV or GCV over the path by aiming to have the same root mean square sum of the second derivatives of h(U) relative to its various components u(k), which sum is calculated over all of the points in the training base.
The root mean square sum SQD2U(k) of the second derivative of h(U) relative to its component u(k), is defined as follows:
with summing being performed over the n points of the training base expressed in U.
A similar quantity can be calculated from the spline f(X) expressed in X:
The relationship between U(k) and X(k) implies that:
and thus that:
SQD2U(k)=SQD2F(k)*(σk/dilk)2
CVV or GCV is minimized over the path seeking to have the same SQD2U(k) for all of the parameters k, while complying with the constraint that the product of all of the scale expansions is equal to 1.
To do this, one proposed method is the following iterative process:
1) Starting from an initial estimate of all of the scale expansions that satisfies the condition:
If there is no prior knowledge concerning these initial scale expansions, it is generally a good choice to set them all equal to 1.
2) Constructing the multidimensional pseudo-cubic thin plate type spline function with these scale expansions, as explained above.
3) Calculating the d second derivatives of the multidimensional pseudo-cubic thin plate type spline function relative to the d parameters:
for k=1 to d
and doing this for each of the n points in the training base (i=1 to n).
4) For each of the d parameters, calculating the root mean square (over all of the points in the training base) of the second derivatives calculated in the preceding step, this root mean square being defined by:
for k=1 to d
5) For this set of scale expansions, calculating either the cross-validation variance CVV, or the generalized cross-validation variance GCV, these two magnitudes being defined above and the way in which they are calculated being described.
6) If not at the first iteration of the iterative process, and if the quantity CVV or GCV is greater than that obtained on the preceding iteration, exiting the iterative process with the preceding values with the scale expansion values of the preceding iteration, and recalculating or restoring the multidimensional pseudo-cubic thin plate type spline function for these scale expansions of the preceding iteration.
7) Calculating the geometric mean C of the above-defined quantities SQD2F(k) weighted by the square of σk:
8) Conceptually, this quantity represents the geometrical mean value of the SQD2U(k).
9) Calculating new scale expansions by a formula such as:
10) Testing the convergence of the iterative process. By way of example, this may be done by testing the maximum of the absolute values of the relative variations between dilk and new_dilk, i.e. by comparing the following quantity:
for example with a predefined convergence threshold. If this quantity is less than the convergence threshold, then convergence is deemed to have been achieved and the iterative process should be exited.
11) Verifying that the iterative process has taken place correctly. This may be done for example by verifying whether the number of iterations is less than some authorized maximum number of iterations, and for example also by verifying whether the ratio:
max(new_dilk, k=1 to d)/min(new_dilk, k=1 to d)
is less than some other predefined threshold. For example, if one or other of these two conditions is not verified, the iterative process should be exited.
12) Updating the scale expansions, i.e. replacing the dilk for k=1 to d with the new_dilk, k=1 to d, and returning to step 2 for the next iteration.
The use in step 5 of the above process of the cross-validation variance CVV or of the generalized cross-validation variance GCV corresponds to two possible variances of this implementation of the invention. Using generalized cross-validation variance GCV is generally faster in terms of calculation time, but is sometimes less robust and it does not apply to true interpolators, but only to quasi-interpolators. Using cross-validation variance CVV is more robust and it is recommended whenever extra calculation time can be accepted while conserving a sufficiently large number of portions in the partition, for example more than ten or 15, and using all of these portions when calculating CVV, i.e. P=np in step 5 of the method described for calculating using the “cross-validation” method. The use of CVV instead of GCV is also strongly recommended when using a true interpolator rather than a quasi-interpolator.
When the simulations are weighted, i.e. given weights θi that are not all equal to one another, a recommended variant of the implementation of the invention is to take SQD2F(k) in steps 4 et seq. of the above iterative process as the weighted root mean square (over all of the points of the training base) of the second derivatives calculated in the preceding step, this weighted root mean square being defined by:
for k=1 to d
The main advantages provided by the invention are as follows:
The invention applies to deterministic simulation methods in all technical and industrial sectors. It can thus be applied to a very wide range of applications, and by way of example, the following may be mentioned: micro-electronics and micro- and nano-technologies (e.g. using technology computer aided design (TCAD) software, or simulation program with integrated circuit emphasis (SPICE) software), mechanical and automobile manufacture, telecommunications, aviation and/or space techniques, building and public works, chemistry, mining, petroleum, and gas extraction, energy, agrifood business, transport, etc. . . .
Number | Date | Country | Kind |
---|---|---|---|
08 03874 | Jul 2008 | FR | national |