Precision problem in algsys



Richard Fateman wrote:

> Note that
> 
> (%i12) fpprec:100;
> (%i13) 1.0/3.0,bfloat;
> (%o13) 3.33333333333333314829616256247390992939472198486328125b-1
> 
> So your example   algsys(..), bfloat;
>  is merely doing the computation in ordinary floating point and
> afterward converting it to bigfloats.

You are right, your demo shows clearly the fact. At least you have
double precision in your calculation (around 16 digits correct) while
i have only simple precision - which is dramatically poor if numerical
instabilities creep in.

> 
> I think that algsys in your example is using allroots, which is
> apparently unaffected by algepsilon and also unaffected
> by fpprec. I don't know how algepsilon is supposed to work. The document
> doesn't say.  My guess is that
> it doesn't work at all, since realroots and allroots, which are used, do
> not look at it.

This is a very serious problem. In Mathematica you can ask to do all
computations with 100 digits, it takes some time but it works. For example
i had to compute the eigenvalues of a 51x51 matrix (in fact for the
Jaynes-Cummings model, interaction of one photon mode and one spin, for a
spin 25) and the results were totally wrong until i computed with 100
digits.

-- 
Michel Talon