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 19:32:07 +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=cticBY7JjmQ4gyxFEXvujVZe1aI1vKxaneggbdxbgD4=; b=Sc51gFIT7PRiQdBzZfOIcsn0OQUgqDirNHDlCOjFC5BWR0ZDYDoOfCwAgJFV6yOrOO UwYnbXOOMY7/EFS+Rd5elollWjK25I77V5I9A4Cq/Y/q2c7kLaGnyJGuS1+EWAJwegyC SHuqOfT2nma1GYr2oRec+VH75hHZsCGT7wrJA=
- 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=Vu2/syCPttyr6q6v3eZ45iAqNJgjIJPkSHWWlD72UlrxrEvMmwcbeUjLkPQEc2v73x CbjvD29vgvEbMfiR4t7v0zHVruObZxyoPUhrkS0SQ2tUqfjfAZcq30/GBWeHRCuV1uh0 Aie8ITVd7KHOS/XXp5YfD6pVmviKz8J6fSVU4=
2009/2/3 Keir Mierle <mierle@xxxxxxxxx>:
> On Tue, Feb 3, 2009 at 8:59 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> wrote:
>>
>> 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?
>
> The condition number is bad, but the matrix is certainly invertible to
> machine precision.
Indeed. Yet the condition number is so bad that in practice, in most
cases where this happens, the matrix is meant to be non-invertible.
What this shows, is that "invertible to machine precision" is not a
particularly useful notion.
To take a more extreme example:
1 0
0 1e-15
is also "invertible to machine precision" and there it's 99.99%
guaranteed that the 1e-15 is noise (and hence it should be considered
non invertible), as this imprecision can be realized by just a few
floating point operations.
Cheers,
Benoit