The current care() function requires package QT which is now unavailable.
However, commenting out line 69 as follows:
# tmp <- QZ::qz.zgees(val) # schur decomposition from QZ
and un-commenting line 68 as follows:
tmp <- Matrix::Schur(val) # coerces imaginary parts
solves the problem and gives the same results as Octave function lqr(), but not Octave care(), on a sample problem.
Let me know if anything unclear.
Regards,
Graham W Griffiths
graham@griffiths1.com