Re: [eigen] Machine precision<> too coarse |

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Machine precision<> too coarse*From*: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>*Date*: Tue, 3 Feb 2009 17:59:00 +0100*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=nDkU5aL8RoW0yZ9bRu67aX38rqX1O/wvZKhbR/1W4Ak=; b=PSQ1reYulqBXk+0vKh7j71bOyGB1e+c8WonGYok0NK14NimPdyLi8Oo1dX1et4TYlk vu6siEPCw6XuZIV8eh7B35SlBzvqltNj9rN9GoDreGZ7YHrSjydbEO+ULdllN7ET2A92 wuKy0Lll167G4ow0bVdkz9qDTpBiYW7+0LcQY=*Domainkey-signature*: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=aDYvksJx9wt/cV+vQMN068MdaUdCyFi+frhTtW1hxD33Z7EPPyjQlEkwNlbNgLE/YP m1BMcnzm9rTAnk7NVjxLvMhcnkZJcDgNAF8eeEL8eBYzbktYVqDIacO7CGgndxwFO+We WvMV6eMSAhLLI77Oa5qPEIifTRmp0Uvz4etnY=

Also, look at things this way: Suppose that you have a NxN matrix of doubles, with entries between -1 and 1, except in one row where entries are smaller than 1e-12. For example (N=2): 1 0 0 1e-12 Do you want to consider this matrix invertible or not? Dilemma: * if you consider it invertible, there's a risk that the 1e-12 entries were just noise and were meant to be zeros * if you consider it non invertible, there's a risk that the 1e-12 entries were really precise and were not just noise around zero There's no way to tell in general. This isn't math -- from the math point of view, "invertibility" only makes sense if you have infinite precision, because invertible matrices form a dense subset i.e. any matrix can be approached arbitrarily closely by invertible ones. Since this isn't math, what it is? It's just a matter of common sense. A matrix like discussed here is probably just a noisy non-invertible matrix. Moreover: since 1e-12 is already dangerously close to the machine epsilon, it would be crazy for the user to rely on it being considered invertible. Which means that we (Eigen) can expect the user to NOT rely on this matrix being considered invertible. E.g. the user, if he's sane, won't call inverse() on it. That's why i'm being liberal in taking a coarse precision. Cheers, Benoit

**Follow-Ups**:**Re: [eigen] Machine precision<> too coarse***From:*Keir Mierle

**References**:**[eigen] Machine precision<> too coarse***From:*Keir Mierle

**Re: [eigen] Machine precision<> too coarse***From:*Benoit Jacob

**Re: [eigen] Machine precision<> too coarse***From:*Keir Mierle

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Machine precision<> too coarse** - Next by Date:
**Re: [eigen] Machine precision<> too coarse** - Previous by thread:
**Re: [eigen] Machine precision<> too coarse** - Next by thread:
**Re: [eigen] Machine precision<> too coarse**

Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |