1) run gras.ellapx.uncertcalc.test.regr.editconf('osc8') and set
calcPrecision=1e-5
2) gras.ellapx.uncertcalc.test.regr.run_regr_tests('osc8')
We need to figure out why the precision is so low.
calcPrecision specifies a desired precision of calculation. To achieve such
precision we ask ODE solver to solve matrix ODEs with much higher precision
odePrec. odePrec is related ti calcPrecision via some formula (see
products\+gras\+ellapx\+gen\ATightEllApxBuilder class) that incorporates
MAX_PRECISION_FACTOR. The current value of this factor is
MAX_PRECISION_FACTOR=0.003;
which is specified as a constant in ATightEllApxBuilder
Also, in
\+gras\+ellapx\+lreachplain\+probdyn\AReachProblemDynamics.m
class we have constants that regulate a precision of fundamental matrix X(t,t0)
calculation.
properties (Constant,GetAccess=protected)
N_TIME_POINTS=1000;
ODE_NORM_CONTROL='on';
CALC_PRECISION_FACTOR=0.0001;
end
The meaning of the factor is the same while N_TIME_POINTS is the number of
points for which we calculate X(t,t0) prior to interpolating.
Though MAX_PRECISION_FACTOR quite low (which make ODE solver to find the
solutions with very high precision, the final precision with which the tubes
are found is lower than calcPrecision. A natural way to achieve a higher
precision is to lower MAX_PRECISION_FACTOR and possibly - CALC_PRECISION_FACTOR
(though the latter doesn't have much effect the the resulting precision). But
it looks like lowering the factor though has a positive effect still doesn't
allow for achieving calcPrecision=1e-5.
We need to find a point when the precision is lost and fix it.
Original issue reported on code.google.com by heartofm...@gmail.com on 14 Apr 2013 at 10:48
Original issue reported on code.google.com by
heartofm...@gmail.com
on 14 Apr 2013 at 10:48