Sunteți pe pagina 1din 8

Home Search Collections Journals About Contact us My IOPscience

A compact tensor algebra expression of the law of propagation of uncertainty

This article has been downloaded from IOPscience. Please scroll down to see the full text article.

2011 Metrologia 48 L22

(http://iopscience.iop.org/0026-1394/48/3/L03)

View the table of contents for this issue, or go to the journal homepage for more

Download details:
IP Address: 148.204.24.56
The article was downloaded on 06/04/2011 at 15:29

Please note that terms and conditions apply.


IOP PUBLISHING METROLOGIA
Metrologia 48 (2011) L22–L28 doi:10.1088/0026-1394/48/3/L03

SHORT COMMUNICATION

A compact tensor algebra expression of


the law of propagation of uncertainty
C Bouchot1 , J L Castro Quilantán2 and J C Sánchez Ochoa1
1
Escuela Superior de Ingenierı́a Quı́mica e Industrı́as Extractivas, IPN, Edif. 7 PB, Zacatenco, CP 07738
México D.F., Mexico
2
Escuela Superior de Fı́sica y Matemáticas, IPN, Edif. 9 PB, Zacatenco, CP 07738 México D.F., Mexico
E-mail: cbouchot@ipn.mx

Received 8 October 2010, in final form 11 March 2011


Published 6 April 2011
Online at stacks.iop.org/Met/48/L22

Abstract
Compact expressions for the GUM’s ‘law of propagation of uncertainty’ and its extensions,
including the possible effects of corrections for non-linearity and including the effects of
correlation in the variables, are obtained in terms of simple manipulations on three basic
tensors: the gradient, the Hessian and the third order third derivative tensor of the measurement
function. These formulae are an alternative to those involving mixed matrix and differential
algebra. They provide a systematic and reproducible way to arrange the terms provided by the
derivatives of various orders of a measurement function. The proposed formulae, which appear
mathematically complicated, are surprisingly easy to implement in spreadsheet programs and
interpreted matrix oriented programming languages. This is illustrated by means of an
example of the propagation of uncertainty for the ratio of two normal and correlated variables.

1. Introduction uncorrelated. Then, in section 4 we provide an illustration


of how to use the proposed formulation within a spreadsheet
The aim of this article is to propose an alternative way of program based on the propagation of uncertainty in a ratio
writing the formulae of the ‘law of propagation of uncertainty’, of two correlated variables. The same example is processed
which displays no trace and no partial derivative symbols, through a matrix oriented interpreted language where we show
but involves tensor containers, e.g. tables of values, which that a surprisingly short piece of code can be implemented to
can be easily manipulated within spreadsheets or matrix use the propagation formula.
oriented languages. These tables or matrices can be provided
by differential algebra applied to the measurement function
and then evaluated at estimates of the input variables in 2. Framework
the model. The tables of values can then be assembled
to produce the evaluation of the variance associated with In this paper we consider a scalar measurand estimate y
an estimate of the measurand by means of simple matrix which depends on n input random variable estimates through
products. Such formulae might be useful for experimental a measurement function f . Let xi be the ith component of
scientists or metrologists who deal with complex measurement the input variable estimate vector x ∈ Rn . The measurement
functions where non-linearity in the model and correlations in model relating the vector of input quantities X of components
the variables are present. Xi and the output quantity Y is Y = f (X ). An estimate of
Our starting point is the result proposed by [1], which X is the vector x and y is the corresponding estimate of Y .
generalizes the formulae of the GUM [2] (5.1.2, and the We denote as u(xi ) the evaluated standard uncertainty in the
related NOTE). In section 2 we set the framework and estimate xi . Pearson’s correlation coefficients between pairs
hypothesis that govern the present proposal. In section 3 of variables are denoted ρij .
we establish the new formulation of the propagation formula The GUM formula [2] which calculates the combined
and one important but particular case where the variables are variance, and is also known as the ‘law of propagation of

0026-1394/11/030022+07$33.00 © 2011 BIPM & IOP Publishing Ltd Printed in the UK & the USA L22
Short Communication

uncertainty’ (5.1.2 in [2]), is as follows for uncorrelated Equation (3) can be seen as a compact form of the law
variables, taking into account corrections of order higher than of propagation and is useful to take into account the non-
one in the Taylor expansion of the model f : linearity of a model, or to test a model for the accuracy of
 n   the linear approximation, in the evaluation of the standard
∂f 2 2 uncertainty as explained in [1]. However, it is worth noting
u2c (y)  u (xi )
i=1
∂xi that in equations (1), (2) and (3), the input variables should be
  2 normally distributed. The same hypothesis applies throughout
n  n
1 ∂ 2f this article.
+
2 ∂xi ∂xj Equations (1), (2) and (3) all contain sums over symbols
i=1 j =1
representing values of derivatives of f . The number of
  
∂f ∂ 3f terms and the complexity of their combinations in these sums
+ u2 (xi )u2 (xj ), (1) increase with the number of variables in the model. For
∂xi ∂xi ∂ 2 xj
example, for a model f which depends on three correlated
where ∂f /∂xi is ∂f /∂Xi evaluated at x. variables, the full expression (3) generates 131 terms in total.
For correlated variables, taking into account only a first Some of them are repeated so that they combine to form 78
order Taylor approximation of f , the equation for the combined different terms which must be summed to obtain the combined
variance is given by variance. In practice, some of the generated terms are usually
 n   zero; however, a substantial number of them can remain.
∂f 2 2
uc (y) 
2
u (xi ) Another example is the case of the model for the determination
i=1
∂xi of the density of wet air [4], with four random variables:

n−1  n    the temperature, the pressure, the relative humidity and the
∂f ∂f
+2 u(xi ) u(xj ) ρij model fitting error, where the propagation formula involves 34
i=1 j =i+1
∂xi ∂xj derivatives in total which combine into 22 different terms to
+ ···. (2) sum to obtain the combined variance.
The evaluation of the non-linear effects, i.e. the two last
The GUM does not provide an expression for the case terms on the right-hand side of equation (3), requires a great
where the variables are correlated and contributions of order deal of work in general. This effort is sometimes only required
higher than one in the approximation of f are taken into to check the accuracy of the linear approximation of the model.
account simultaneously. The case of the propagation of The last term of equation (3), which contains the Jacobian of
the uncertainty in a model such as f when the linearized a trace, implies that manipulations of symbolic matrices need
approximation is not adequate is considered in [3] and requires to be performed first, then a subsequent symbolic derivation
the implementation of Monte Carlo methods. However, of the result is done and, finally, the numerical evaluation
another expression for the combined variance was recently and numerical matrix products are performed. Symbolic
derived by Mana and Pennecchi in [1], who propose a version algebra and numerical evaluations are not separated in this
of the law of propagation for non-linear models that takes into formulation and this represents a serious difficulty in its
account approximations up to the third order in the Taylor practical implementation for complex models.
expansion of the model. It is worth mentioning that the The available mathematical programs of symbolic algebra
formulation in [1] encompasses the cases of both equations (1) can easily display symbolic or numerically evaluated gradients,
and (2). The formulation for the variance σy2 from [1] is Hessian matrices and any subset of the third order third
transcribed here: derivative tensor of the model that are involved in the
above mentioned formulae. These programs make the
u2c (y) ≡ σy2 = J0 Cx J0 + 21 tr[(H0 Cx )2 ]
numerically evaluated matrices available to anyone who wants,
+ J0 Cx [∂x tr(HCx )]0 , (3) or needs, to use spreadsheets or matrix oriented languages
to implement uncertainty propagation formulae for some
where J0 is the Jacobian of f , namely its gradient, evaluated at application. On the one hand, the spreadsheets are widely used
the mean value of the vector of random variables or, in practice, to perform statistical analysis and uncertainty propagation and
at the measured x. The Hessian matrix H is also evaluated at do not provide a systematic way to perform the summations
the measured input variables x. The evaluated Hessian matrix efficiently, and actually without risks of manipulation error.
is denoted by H0 . The matrix Cx is the covariance matrix of the It should therefore be useful to avoid the mixing of matrix
set of input variables. The gradient operator, ∂x in equation (3), operations and symbolic derivations in the propagation formula
provides the Jacobian of the trace which is its argument and and to allow the use of simple numerical matrices and products
this Jacobian is again evaluated at the measured x, as denoted between them in a spreadsheet. The evaluation of the necessary
by the subscript 0. This notation will be used, for matrices derivatives may be performed by another program. On the
and for the gradient vector, throughout this article in order to other hand, it is noticeable that matrix oriented languages are
distinguish between the quantities and their associated values. nowadays able to perform most of the necessary symbolic and
A bold face upper-case letter with the subscript 0 refers to a numerical calculations used in the uncertainty propagation but
matrix evaluated at x. The vectors are denoted with bold face a formula that fully uses the matrix language is not available.
upper-case letters when referring to quantities and with bold We therefore propose to set a matrix expression for
face lower-case letters when referring to their values. the propagation of uncertainty which uses simple products

Metrologia, 48 (2011) L22–L28 L23


Short Communication

between numerical matrices that can be evaluated apart and


allows us to separate the symbolic differential algebra from
the numerical tensor algebra. The use of matrices would allow
a general, systematic and reproducible way to manage the high
number of terms that are produced by the various differential
operators and traces in the already available propagation
formulae, especially equation (3).

3. Derivation and results

3.1. General case


We first consider the most general case where the variables
in the model are correlated. The first term in equation (3)
is left unchanged. However, we prefer to use the gradient
of f , ∇f , as a column vector instead of the Jacobian which Figure 1. Tensor P k,0 .
is usually considered as a row vector for scalar models. We
will denote ti,corr as the value of the ith term of the left-hand
side of equation (3) for the case of correlated variables. Thus, which arises from the double sum on the right-hand side of the
u2c (y)  t1,corr +t2,corr +t3,corr where t1,corr = ∇f0 Cx ∇f0 . The expression of t3,corr in equation (5). The matrix P k,0 involved in
notation ( ) stands for matrix transposition. The matrix Cx is the central Hadamard product of equation (8) is a subset of the
the covariance matrix with components u2 (xi ) on the diagonal third order third derivative tensor of f , and can be visualized as
and u(xi )u(xj )ρij off the diagonal. a horizontal ‘plate’ of the third order tensor as shown in figure 1.
The second term, t2,corr , in equation (3), which is a trace, The elements of P k,0 are pk:i,j = (∂ 3 f/(∂xi ∂xj ∂xk )) where
can be written in terms of a Kronecker product [5], so that
index k is fixed a priori. The matrix P k,0 is evaluated at the
t2,corr = tr[(H0 Cx )2 ] = tr[(H0 Cx H0 Cx ] measured x.
= vec(Cx ) (H0 ⊗ H0 )vec(Cx ) (4) Thus, for a model with correlated variables, the
using the symmetry of the covariance matrix and of the uncertainty propagation formula can be written by gathering
Hessian. The ⊗ product is the Kronecker product, and vec the expressions for t1,corr , t2,corr and t3,corr as
is the so-called ‘vec-operator’ that stacks the columns of its u2c (y)  ∇f0 Cx ∇f0 + 21 vec(Cx ) (H0 ⊗ H0 )vec(Cx )
argument (a matrix) one under another in a column vector [5].
+ [[(∇f0  u) Rx ]  u ]s (9)
The third term t3,corr in equation (3) can be written in the
following form: where s is obtained by vertically stacking the components
t3,corr = J0 Cx [∂x tr(HCx )]0 from equation (8) and where only matrices and simple matrix
 n   products are employed. In equations (8) and (9), the numerical

n  ∂f
= u(xi )u(xk )ρik matrices P k,0 , ∇f0 and H0 , evaluated at the measured x, are
k=1 i=1
∂xi employed. Their symbolic versions can be obtained apart and
 are not involved directly in equation (9). The matrices Cx and
 n 
n  3 
∂ f Rx , and the vector of combined uncertainties in the variables u,
× u(xj )u(xi )ρj i  , (5)
∂xk ∂xj ∂xi are numerical tables, independent of the model f , that involve
i=1 j =1
only the statistics in the measured xi in x.
where all the partial derivatives are evaluated at the measured
x. Equation (5) can be seen as a scalar (or dot) product between
two vectors of numerical values w and s: 3.2. Particular case

t3,corr = w • s, (6) It is now interesting to derive, from the previous general result,
another one for the particular case where the variables are
where w can be calculated by means of Hadamard (element- uncorrelated, i.e. where Rx = In and In is the identity matrix
wise or Schur) products [6] denoted by  as follows: let u in n dimensions. This should allow us to recover the formula
be the vector of combined uncertainties in x so that u = given by equation (1) but provide a very compact tensor algebra
(u(x1 ), · · · , u(xn )), and Rx , the correlation matrix of x with version of it. In this particular case ρij = δij , where δij is
components ρj i . the Kronecker symbol. We denote by ti,unc the ith term of
w = [(∇f0  u) Rx ]  u . (7) the left-hand side of equation (3) in the case of uncorrelated
variables. Thus, we can write u2c (y)  t1,unc + t2,unc + t3,unc
By introducing the matrix P k,0 as shown in figure 1, the where t1,unc ≡ t1,corr . The only difference between t1,unc and
vector s in equation (6) has its kth component written as t1,corr is that in t1,unc , the matrix Cx is a diagonal matrix.

Equation (4) can be reduced to a Hadamard product since Cx =
sk = u P k,0  Rx u, (8) (δij u(xi )u(xj )) = In u where u  = (u2 (x1 ), · · · u2 (xn )). So

L24 Metrologia, 48 (2011) L22–L28


Short Communication

to build the quantities P k or B , ∇f and H , can be performed


by means of some symbolic algebra programs. This will
be discussed briefly in section 4.2. All that is needed in
equations (9) and (12) is the numerical version of these
matrices.
In order to illustrate the use of the most general
equation (9) we consider the simple problem of the propagation
of the uncertainty in the ratio of two random variables: y =
x1 /x2 where the expected values of x1 and x2 are, respectively,
x̄1 = 0 and x̄2 = 1. The standard uncertainties in these
variables are, respectively, u(x1 ) = 0.02 and u(x2 ) = 0.01
and the correlation coefficient is ρ12 = 0.9. The result
for the variance in the ratio is symbolically given in [1]:
σy2 = [1 + (3 + 5ρ12 2
)u2 (x2 )]u2 (x1 ). With the proposed
values, this result gives a numerical standard uncertainty uc ≈
2.001×10−2 .
Figure 2. Tensor B 0 .
Figure 3 presents the initial setup of the problem. The
upper part of the figure displays the tables that must be
equation (4) is transformed into provided to feed equation (9) in the general case of n correlated
variables. The dimensions of the tables are given as a subscript
t2,unc = u  (H0  H0 )u . (10) parenthesis that contains the number of rows as the first
argument and the number of columns as the second argument.
The reduction in Cx to a diagonal matrix also implies that
The lower part of figure 3 displays the evaluated matrices in the
the expression for t3,corr (equation (5)) is reduced to the third
case of the example where n = 2. The values of the gradient,
term in equation (1). In the new formulation of equation (6),
of the Hessian and of the ‘blocks’ of the third derivative tensor
the vector w in equation (7) is directly converted into ∇f0  u
presented in figure 1 need to be calculated apart from the given
since u  u = u . In each row of the vector s (equation (8)),
model. Their symbolic version are given below:
the Hadamard product of P k,0 with Rx is transformed into
 
P k,0  In which provides only the terms of the main diagonal 1/x2
∇ f0 = , (13)
of the third derivative tensor denoted by B 0 . The tensor B 0 is −x1 /x2 2
shown in figure 2 and its elements are bi,j = (∂ 3 f/(∂xi ∂xj2 )).  
Thus, by stacking the rows of vector s, we obtain s = 0 −1/x2 2
H0 = , (14)
−1/x2 2 2 x1 /x2 3
B 0 u and finally
 
0 0
t3,unc = (∇f0  u ) B 0 u . (11) P 1,0 = , (15)
0 2/x2 3
 
The GUM formula, as displayed in equation (1) [2], with 0 2/x2 3
P 2,0 = . (16)
uncorrelated variables can be alternatively written as 2/x2 3 −6 x1 /x2 4
u2c (y)  ∇f0 Cx ∇f0 + 21 u  (H0  H0 )u On a spreadsheet, the calculation of t1,corr is straight-
forward. The mmult() operator is used first to multiply Cx
+ (∇f0  u ) B 0 u (12) and ∇f0 . A transposed copy of ∇f0 is then multiplied by
and can be easily manipulated with matrix products of means of mmult() to the result of the former calculation. In
numerical tables. In equation (12), the matrices B 0 , ∇f0 and the present case we obtain t1,corr = 4.0×10−4 which is the
H0 are evaluated at the measured x. Once more, their symbolic variance of the ratio in the linear approximation. The term
versions can be obtained apart and are not involved directly. t2,corr has the same structure as t1,corr and the operations are the
The matrices Cx and the vector u are numerical tables that same. The vector vec(Cx ) is easy to obtain by just stacking
involve only the statistics of the uncorrelated xi in x. the columns of Cx vertically or horizontally as needed.
The Kronecker product of H0 by itself is not available as
a function on spreadsheets; however, it can be constructed by
4. Discussion preparing two (n2 , n2 ) matrices and performing the Hadamard
product between them as shown, for the case n = 2, in
4.1. Spreadsheet implementation
figure 4. The first of these matrices contains n2 (n, n) blocks
The previous formulae, equations (9) and (12), can be homogeneously filled with the corresponding ij component of
implemented in spreadsheet programs by manipulating only the (n, n) matrix H0 (see figure 4). The second matrix has
numerical tables and the widely used matrix multiplication n2 (n, n) blocks, each one being a copy of the full matrix
(mmult()) function that is available in Excel [7] or in Gnumeric H0 . In the present case, the Hadamard product of the two
[8] for example. The differential algebra, which is necessary previous matrices multiplied through mmult() by vec(Cx ) and

Metrologia, 48 (2011) L22–L28 L25


Short Communication

Figure 3. x1 /x2 problem setup in a spreadsheet.

Figure 4. Kronecker product H0 ⊗ H0 for n = 2; hij are the numerical components of H0 .

the result multiplied again by vec(Cx ) provides the expected implemented. The Kronecker product is available through the
result t2,corr = 7.24×10−8 . function kron(). There are various ways to stack elements
To calculate the term t3,corr requires a little more effort. into vectors or to vectorize matrices. The solutions, which are
Figure 5 shows a possible arrangement of the necessary employed here, are compatible between the three mentioned
matrices. In the upper part of the figure, each component programs. The following verbatim code applies to any of
sk of vector s is calculated. In the lower part of the figure them. The Matlab [9] (:) operator stands for vec(), and the
w is calculated from equation (7). The components of s are [-;-] structure is used for vertical stacking. The corresponding
stacked in a column vector and the scalar product between code is shown below:
w and s is calculated to obtain t3,corr by means of a matrix
product. The required operations are simple products obtained 01 % User Provided Matrices
02 format long
through mmult() and Hadamard (element-wise) products. In 03 x=[0;1];
the present case the result is t3,corr = 2.096×10−7 . It is worth 04 u=[0.02;0.01];
noting that t3,corr > t2,corr ; the major contribution from non- 05 Rx=[1,0.9;0.9,1];
linear effects in the model to the variance comes from t3,corr 06 Gr0=[1;0];
in this case. It shows that it is worthwhile to calculate all the 07 H0=[0,-1;-1,0];
08 P10=[0,0;0,2];
terms since it cannot be determined a priori which terms might 09 P20=[0,2;2,0];
or might not be negligible. 10
11 % Calculation of Variance
4.2. Matrix language implementation 12 Cx=u*u’.*Rx;
13 T1CORR=Gr0’*Cx*Gr0
The implementation of the proposed formulae within the 14 T2CORR=1/2*Cx(:)’*kron(H0,H0)*Cx(:)
15 s=[u’*(P10.*Rx)*u ; u’*(P20.*Rx)*u];
framework of matrix oriented interpreted languages such as
16 T3CORR=((Gr0.*u)’*Rx).*u’*s
Matlab [9], Octave [10] or Scilab [11] is quite simple. Each 17
language contains the standard matrix and Hadamard products 18 % Results

L26 Metrologia, 48 (2011) L22–L28


Short Communication

Figure 5. x1 /x2 problem setup for t3,corr in a spreadsheet.  is the Hadamard (element-wise) product, • is the standard matrix product given
by mmult(). q1 and q2 are intermediate vectors of numerical values.

19 uc=sqrt(T1CORR+T2CORR+T3CORR)
line 07) and P k,0 (coded as P10 and P20, lines 08, 09), are then
20
21 % RESULTS obtained by means of an evaluation instruction ev().
22 % T1CORR = 4.000e-04 Line 12 builds the covariance matrix Cx from the
23 % T2CORR = 7.240e-08 correlation matrix Rx and the combined uncertainty vector
24 % T3CORR = 2.096e-07 u. It can be noted how the proposed formulae are coded in a
25 % Expected result
26 % uc = 2.0007048e-2
compact and straightforward manner from line 13 to line 16,
27 % End of Code giving the expected results. The Hadamard product of two
matrices is coded as (.*) while the matrix product is coded as
The matrices supplied by the user are entered from line (*). The vertical stacking of s is obtained on line 15. The
03 to line 09. The first two vectors contain, respectively, the results were obtained in Octave [10]. This code was checked
measurements and their standard uncertainties. These vectors for compatibility and runs in Matlab [9] and Scilab [11] without
and the correlation matrix (line 05) are obtained from statistical any change.
analysis. The matrices in lines 06 to 09 were obtained
from Maxima [12], a symbolic algebra program. A program
such as Maxima provides some specialized modules of linear 5. Conclusion
algebra where the jacobian() (transpose of the gradient) and
We have developed an alternative way to write the GUM
the hessian() functions are defined and can be used to obtain
formula or the formulation of Mana and Pennecchi for the
∇f and H . The blocks P k of the third order third derivative propagation of uncertainty. The sums involved in equation (3)
tensor, for example, can be obtained from nested ‘for’ loops can be obtained through standard matrix products. This allows
on the differential operator as shown in the following lines: us to handle the propagation formula from within a spreadsheet
for i : 1 thru 2 do or any matrix oriented program even for models with many
for j : 1 thru 2 do variables. The proposed formulae are suitable to be used
P2[i,j]:= diff(f(X1,X2),L[i],1, in spreadsheet programs and for programming within matrix
L[j],1,L[2],1); oriented interpreted languages. The implementation of the
Kronecker product as a user function in spreadsheets would be
In this code we build P 2 from its components very useful.
∂ 3 f/(∂Xi ∂Xj ∂X2 ) by differentiating the model f with respect The gradient vector, the Hessian and the third order
to each of the quantities in a list L that contains Xi , for i =1, derivative tensor of the model evaluated at a given set of
2. The values ∇f0 (coded as Gr0, line 06), H0 (coded as H0, estimates of the variables are required and can be obtained

Metrologia, 48 (2011) L22–L28 L27


Short Communication

by means of symbolic algebra programs. If access can be www.bipm.org/common/documents/jcgm/JCGM 100


gained to the covariance matrix of the variables in the model, 2008 E.pdf
[3] Joint Committee for Guides in Metrology 2008 JCGM
the proposed formulations provide a straightforward way to
101:2008 Evaluation of Measurement Data—Supplement 1
calculate the combined uncertainty by means of simple matrix to the ‘Guide to the Expression of Uncertainty in
manipulations that diminishes to some extent the risks of errors Measurement’—Propagation of Distributions using a Monte
in the calculations. Carlo Method (Sèvres: JCGM) www.bipm.org/common/
documents/jcgm/JCGM 101 2008 E.pdf
[4] Becerra L O and Hernández I 2006 Meas. Sci. Technol.
Acknowledgments 17 2545–50
[5] Lütkepohl H 1996 Handbook of Matrices (New York: Wiley)
The authors are grateful to the Instituto Politécnico Nacional p 42
[6] Horn R A and Johnson C R 1985 Matrix Analysis (Cambridge:
of Mexico for financial support to the program SIP 1192/2010, Cambridge University Press) p 321
and particularly project SIP 20101026. They also thank the [7] MS Excel 2007 Microsoft Corp. USA http://office.microsoft.
referees whose comments helped to improve this paper. com/en-us/excel
[8] Gnumeric 2009 Version 1.9.9 http://projects.gnome.org/
gnumeric/
References [9] MATLAB 2010 MathWorks USA Release R2010a
www.mathworks.com/products/matlab/
[1] Mana G and Pennecchi F 2007 Metrologia 44 246–51 [10] Octave 2008 GNU Octave Version 3.0.5 www.octave.org/
[2] Joint Committee for Guides in Metrology 2008 JCGM [11] Scilab 2009 Scilab Consortium FR Version 5.1.1
100:2008 Evaluation of Measurement Data—Guide www.scilab.org/
to the Expression of Uncertainty in Measurement (GUM [12] Maxima 2009 A Computer Algebra System Version 5.20.1
1995 with minor corrections) 1st edn (Sèvres: JCGM) http://maxima.sourceforge.net/

L28 Metrologia, 48 (2011) L22–L28

S-ar putea să vă placă și