Dear Experts,
I am getting the following error while taking transpose of the Cholesky decomposition matrix defined with TDecompChol class.
error: member function 'T' not viable: 'this' argument has type 'const TMatrixD' (aka 'const TMatrixT<double>'), but function is not marked const
I have formatted my code so that you can reproduce the error. Please find the attached necessary files. I am using root version 6.14.
Could anyone please let me know how to resolve this error? Thanks in advance!
check.C (409 Bytes)
KspipiCovariancematrix_cisi.root (1.9 KB)
Hi @niharika ,
and welcome to the ROOT forum!
As the error message says (or tries to say) when you do a.T() you are calling the non-const method T() on the const TMatrix variable a. The error goes away if you change
const TMatrixD a = decompMat.GetU();
to
TMatrixD a = decompMat.GetU();
Cheers,
Enrico
Hi Enrico,
Thanks! That worked.
I understood the other way around, so introduced this const TMatrixD in my actual code. But, it was a mistake. Now my code is working fine.
Alright!
const means that the value of the variable won’t change, but then of course T() tries to change it, and the compiler complains.