mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 03:39:01 +08:00
Fix HouseholderSequence.h
This commit is contained in:
parent
f845a8bb1a
commit
3de96caeaa
@ -393,14 +393,14 @@ template<typename VectorsType, typename CoeffsType, int Side> class HouseholderS
|
|||||||
|
|
||||||
Index dstRows = rows()-m_shift-k;
|
Index dstRows = rows()-m_shift-k;
|
||||||
|
|
||||||
if (inputIsIdentity)
|
if (inputIsIdentity)
|
||||||
{
|
{
|
||||||
Block<Dest, Dynamic, Dynamic> sub_dst = dst.bottomRightCorner(dstRows, dstRows);
|
Block<Dest, Dynamic, Dynamic> sub_dst = dst.bottomRightCorner(dstRows, dstRows);
|
||||||
apply_block_householder_on_the_left(sub_dst, sub_vecs, m_coeffs.segment(k, bs), !m_reverse);
|
apply_block_householder_on_the_left(sub_dst, sub_vecs, m_coeffs.segment(k, bs), !m_reverse);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Block<Dest, Dynamic, Dest::ColsAtCompileTime> sub_dst = dst.bottomRows(dstRows);
|
auto sub_dst = dst.bottomRows(dstRows);
|
||||||
apply_block_householder_on_the_left(sub_dst, sub_vecs, m_coeffs.segment(k, bs), !m_reverse);
|
apply_block_householder_on_the_left(sub_dst, sub_vecs, m_coeffs.segment(k, bs), !m_reverse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -413,14 +413,14 @@ template<typename VectorsType, typename CoeffsType, int Side> class HouseholderS
|
|||||||
Index actual_k = m_reverse ? k : m_length-k-1;
|
Index actual_k = m_reverse ? k : m_length-k-1;
|
||||||
Index dstRows = rows()-m_shift-actual_k;
|
Index dstRows = rows()-m_shift-actual_k;
|
||||||
|
|
||||||
if (inputIsIdentity)
|
if (inputIsIdentity)
|
||||||
{
|
{
|
||||||
Block<Dest, Dynamic, Dynamic> sub_dst = dst.bottomRightCorner(dstRows, dstRows);
|
Block<Dest, Dynamic, Dynamic> sub_dst = dst.bottomRightCorner(dstRows, dstRows);
|
||||||
sub_dst.applyHouseholderOnTheLeft(essentialVector(actual_k), m_coeffs.coeff(actual_k), workspace.data());
|
sub_dst.applyHouseholderOnTheLeft(essentialVector(actual_k), m_coeffs.coeff(actual_k), workspace.data());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Block<Dest, Dynamic, Dest::ColsAtCompileTime> sub_dst = dst.bottomRows(dstRows);
|
auto sub_dst = dst.bottomRows(dstRows);
|
||||||
sub_dst.applyHouseholderOnTheLeft(essentialVector(actual_k), m_coeffs.coeff(actual_k), workspace.data());
|
sub_dst.applyHouseholderOnTheLeft(essentialVector(actual_k), m_coeffs.coeff(actual_k), workspace.data());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user