template<> template<typename InputType> inline \
RealSchur<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >& \
RealSchur<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW> >
::compute(
const EigenBase<InputType>&
matrix,
bool computeU) \
{ \
\
lapack_int
n = internal::convert_index<lapack_int>(
matrix.cols()), sdim,
info; \
lapack_int matrix_order = LAPACKE_COLROW; \
char jobvs, sort='N'; \
LAPACK_##LAPACKE_PREFIX_U##_SELECT2 select = 0; \
jobvs = (computeU) ? 'V' : 'N'; \
lapack_int ldvs = internal::convert_index<lapack_int>(m_matU.outerStride()); \
lapack_int
lda = internal::convert_index<lapack_int>(m_matT.outerStride()); \
Matrix<EIGTYPE, Dynamic, Dynamic> wr, wi; \
wr.resize(
n, 1); wi.resize(
n, 1); \
info = LAPACKE_##LAPACKE_PREFIX##gees( matrix_order, jobvs, sort, select,
n, (LAPACKE_TYPE*)m_matT.data(),
lda, &sdim, (LAPACKE_TYPE*)wr.data(), (LAPACKE_TYPE*)wi.data(), (LAPACKE_TYPE*)m_matU.data(), ldvs ); \
else \
\
m_isInitialized = true; \
m_matUisUptodate = computeU; \
return *this; \
\
}