Re: [eigen] Specialized QR

[ Thread Index | Date Index | More Archives ]

yet another thing:

if (b == Scalar(0))

this needs to be replaced by the appropriate fuzzy comparison
(ei_isMuchSmallerThan with appropriate parameters depending on your

As we always say... implementing a basic version of a numeric
algorithm is only the beginning... then the real "fun" begins!

2009/5/17 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> 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

Mail converted by MHonArc 2.6.19+