Re: [eigen] notes on Householder and Givens

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


2009/2/4 Keir Mierle <mierle@xxxxxxxxx>:
> On Wed, Feb 4, 2009 at 7:04 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
>> Here is a good formula giving such a vector v:
>>
>> v = x + ( x_0 / abs(x_0) ) norm(x) e_0
>
> So if x is close to -alpha*e_0, won't catastrophic cancellation occur? Isn't
> this exactly the case that we'll be producing by doing the pivoting below?

No, look, there's no problem!

Let alpha be any nonzero complex number.
Take x = alpha * e_0

Now we have:
x_0 = alpha
abs(x_0) = abs(alpha)
norm(x) = abs(alpha)

so v = alpha * e_0 + alpha / abs(alpha) * abs(alpha) * e_0

simplifying v, we get:

v = 2 * alpha * e_0

No problem at all!

Cheers,
Benoit



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