Hi,
Current preconditioner IncompleteLUT sets the initialization flag m_isInitialized only in IncompleteLUT::compute. This makes the solve method assert if analyzePattern and factorize were called separately, e.g. not via compute. DiagonalPreconditioner sets the m_isInitialized flag in factorize, which should be a feasible solution for IncompleteLUT as well.
best, simon