[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
Best regards,
Adrien
On Tue, Apr 14, 2020 at 7:35 PM Tommaso Ferrari <tomferri93@xxxxxxxxx>
wrote:
> Dear all,
> I was analyzing Cholesky's decomposition algorithm on a non positive
> definite matrix. It is a 3*3 matrix, whose eigenvalues are -29.5, 2, 30.5.
> I noticed that the llt() method produces a result even if, obviously, the
> reconstruction of the starting matrix is not correct (due to the fact that
> the input matrix is not positive definite).
> I would like to know if, in general, given a non positive definite matrix,
> the llt() method still arrives at a result or if there may be exceptions or
> errors.
> How does the decomposition proceed, having as input a non positive
> definite matrix? Are pseudo method (pseudo determinant, pseudo inverse)
> used?
> Thanks for your attention and response
>
> Tommaso
>
--000000000000fc547905a33fc764
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Dear Tommaso,</div><div><br></div><div>calling the me=
thod info() on your LLT object in this case should return Eigen::Computatio=
nInfo::NumericalIssue. It's not because the code didn't crash that =
you can say the decomposition arrived at a result. Success is conveyed by=
=20
info() and there is no exception raised upon failure.<br></div><div>From a =
quick look a the code, llt() stops prematurely if it encounters a pivot tha=
t is <=3D 0. The part of the resulting L matrix up to this point will be=
"correct", but all the rows after should simply be (part of) the=
rows of your initial matrix.</div><div><br></div><div>Best regards,</div><=
div>Adrien<br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" c=
lass=3D"gmail_attr">On Tue, Apr 14, 2020 at 7:35 PM Tommaso Ferrari <<a =
href=3D"mailto:tomferri93@xxxxxxxxx">tomferri93@xxxxxxxxx</a>> wrote:<br=
></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;=
border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">D=
ear all,<div>I was analyzing Cholesky's decomposition algorithm on a no=
n positive definite matrix. It is a 3*3 matrix, whose eigenvalues are -29.5=
, 2, 30.5.=C2=A0</div><div>I noticed that the llt() method produces a resul=
t even if, obviously, the reconstruction of the starting matrix is not corr=
ect (due to the fact that the input matrix is not positive definite).=C2=A0=
</div><div>I would like to know if, in general, given a non positive defini=
te matrix, the llt() method still arrives at a result or if there may be ex=
ceptions or errors.=C2=A0</div><div>How does=C2=A0the decomposition proceed=
, having as input a non positive definite matrix? Are pseudo method (pseudo=
determinant, pseudo inverse) used?</div><div>Thanks for your attention and=
response</div><div><br></div><div>Tommaso=C2=A0</div></div>
</blockquote></div>
--000000000000fc547905a33fc764--