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