Re: [eigen] Specialized QR |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Specialized QR
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Sun, 17 May 2009 04:09:29 +0200
- 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=uqZhmzgO2AGc/brK6zZdqnzGkCcmybjbmtwQC+4iGi0=; b=IU16i0vEu/IOOgLAotfQADl+xmVoSgbrUpf+bdok5KFzjHTxmLfLru905dLS5g0YWw 35r3Un5ou3Qo1bO+OcNlbne9fUyyFMPssb8Lj8pJ4NpBCY9OX0L0nBz4O9VImHc1nU50 qK8wHm6f4wZy0ut+/KHO2UK6fXAvaC/+QkNao=
- 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=NJ5eBqxF3kL0NvmIV9fCwWPfGmimDZ6F4fTs4kkVwTl+AjuVjjvFyUMJA62PVvbiSa WDLGGO/7ER4AkLpH/i28DZJVg9ev7eVytNxcqaDe1CHEBdmr5sE2c6s5pQ7xf7ZBmeCq 81BFJ6m4Lvppkq3wHF2D/ppocPunecH7sog5Q=
One more thing...
While your code is a great start for Givens-based QR, it is not what
we mean by "QR specialized for fixed-size". For example, the QR
currently in Eigen, when applied to a fixed-size matrix, specializes
exactly as well as your code to that case. But when we say that having
fixed-size specializations would be nice, we mean something else:
compilers tend to do a poor job unrolling nested for loops, so what we
really mean is that we'd need either hand-unrolled or meta-unrolled
code. For examples of meta-unrolled code, you can have a look at the
unrollers in Eigen/src/Core/Assign.h. For examples of hand-unrolled
specializations (moreover using custom algorithms depending on the
matrix size) have a look at Eigen/src/LU/Inverse.h. These are two
possible approaches. This is the kind of optimizations for fixed-size
that we had in mind when we said "fixed-size specializations of QR".
Cheers,
Benoit