Question: An issue with package Tolerances

I face a problem using Tolerances:-NominalValue and Tolerances:-ToleranceValue on a quantity constructed from add.


x := 10 &+-1:
y := 20 &+- 2:
z := 3*x+2*y;
# returns 70 as expected
ToleranceValue(z);   # returns 7 as expected

Now I define another quantity Z this way:

Z := add([3, 2] *~ [x, y]);
(or equivalently add(ListOfCoeffs[k]*ListOfVars[k], k=1..K) where ListOfCoeffs and ListOfVars are previously defined adhoc lists)

Both NominalValue(Z) and ToleranceValue(Z) return an error.
PS: already (and this probably explains that) Z does not appear as 70 +/- 7 but as 3*Interval(...)+2*Interval(...) (lprint confirmed)

How can I obtain NominalValue(Z) and ToleranceValue(Z) when Z comes from 'add' constructor?

Please Wait...