# [Rd] Inconsistent behaviour in solve (PR#805)

**ripley@stats.ox.ac.uk
**
ripley@stats.ox.ac.uk

*Wed, 10 Jan 2001 12:01:57 +0100 (MET)*

On Wed, 10 Jan 2001, Jonathan Rougier wrote:
>* On Tue, 9 Jan 2001, Prof Brian D Ripley wrote:
*>*
*>* > On Tue, 9 Jan 2001 J.C.Rougier@durham.ac.uk wrote:
*>* >
*>* > > I find this a bit puzzling ...
*>* > >
*>* > > > solve(matrix(c(5, 2, 3, 1), 2, 2), c(Inf, 3))
*>* > > [1] NaN Inf
*>* > > > solve(matrix(c(5, 2, 3, 1), 2, 2)) %*% c(Inf, 3)
*>* > > [,1]
*>* > > [1,] -Inf
*>* > > [2,] Inf
*>* > >
*>* > > I would expect the answer to be c(-Inf, Inf), so why has the -Inf
*>* > > been replaced by NaN in solve?
*>* >
*>* > Why would you expect it? Did you actually check it?
*>* > You have 5x + 3y = Inf, 2x + y = 3
*>* > if y - Inf, x = -Inf and 5x + 3y = NaN, 2x + y = NaN.
*>* >
*>* > Once you have infinities, the standard laws of arithmetic break.
*>*
*>* What was puzzling was that the answers were not the same. The two results
*>* will have different effects in further calculations as NaN and -Inf are
*>* not treated identically (e.g. max or min). My understanding, supported by
*>* the documentation, is that the two results should be identical, excepting
*>* numerical accuracy.
*
Really? Which documentation? I don't think they are the same once
non-finite numbers are involved, and ?solve did not lead me to believe
otherwise.
>* In S+ the first version generates an error while the second gives c(-Inf,
*>* Inf) as expected. I think this is safer.
*
The different is intentional: whoever wrote qr.coef put NAOK=TRUE
in R put not in S.
--
Brian D. Ripley, ripley@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._