see inline. On Fri, Jun 15, 2012 at 4:33 AM, <nata...@orchidpharma.com> wrote: > Thanks for your reply. I am sorry and I am bit hurried up to say before doing > a proper due diligence, I have found out that during the optimization the > variables tend to vary the values of the matrix , the function report error > at some point (in particular iteration step) when the matrix become > non-decomposable due to not a positive definiteness.
¿What are you trying to optimize? If the objective function depends on a matrix argument which has to be a positive definite function, you must parametrize the matrix such that the matrix inside the optimizer always is positive definite. So if your positive definite matrix is A, then, for example, represent it as its cholesky decomposition A= L L^T where L is lower triangular with positive diagonal. Here the stricly upper diagonal part varies freely, but the diagonal not, so represent the diagonal as exp( l_i) where now the l_i varies freely. This is called the log-Cholesky parametrization. For other ideas along this lines, see the paper by Douglas Bates: "Unconstrained Parameterizations for Variance-Covariance Matrices " which you can find by googling. Kjetil This I observed when I change the maximum iteration of the optim function set to 1 and upto iteration no. 3 it runs , it stuck at iteration 4 and above. > > Now, I am trying to find ways to escalate such a condition inside the > function during the iteration process and if possible please help me to do > that. > > Regards, > B.Nataraj > > > -----Original Message----- > From: Bert Gunter [mailto:gunter.ber...@gene.com] > Sent: Friday, June 15, 2012 1:51 PM > To: Nataraj B (ORLL-Biotech) > Cc: r-help@r-project.org > Subject: Re: [R] Cholesky decomposition error > > Follow the posting guide,please: I believe at this point we need > reproducible code and your data to provide you help. See ?dput to post > your matrix. > > -- Bert > > On Thu, Jun 14, 2012 at 11:30 PM, <nata...@orchidpharma.com> wrote: >> >> Thanks for your reply. To my surprise I can find one more strange behavior >> of my 15X15 matrix "A", that is if I call the function chol(A) in the >> terminal it decompose the matrix fine without any errors or warnings. >> But if I call the function chol() within a function, which I have written in >> order to call the function (contains formula) for optimization routine >> "optim()" and also supplied with the same matrix "A" as argument, the error >> mentioned >> >>> Error in chol.default(M_cov) : >>> the leading minor of order 10 is not positive definite >> >> is surfaced during the function call by optim. >> >> Why the matrix fulfill the symmetric and positive definite for chol() in one >> case but fails in other case when the function chol() is called in other >> function ? >> >> I played around parameters of "optim" function but nothing seems to be >> working and I am confused and I am looking for some hints to introspect the >> problem further. >> >> Regards, >> B.Nataraj >> >> >> >> >> >> -----Original Message----- >> From: Bert Gunter [mailto:gunter.ber...@gene.com] >> Sent: Thursday, June 14, 2012 6:18 PM >> To: Nataraj B (ORLL-Biotech) >> Cc: r-help@r-project.org >> Subject: Re: [R] Cholesky decomposition error >> >> Your matrix is not symmetric, positive definite. If you don't know >> what this means, you shouldn't be using chol() >> >> This may be because it isn't to begin with, or due to numerical error, >> it doesn't behave as one in the decomposition. My relative ignorance >> of numeric methods for linear algebra prevents me from saying more >> than that. >> >> -- Bert >> >> On Thu, Jun 14, 2012 at 4:23 AM, <nata...@orchidpharma.com> wrote: >>> Dear friends, >>> >>> When I do Cholesky decomposition for a 15x15 matrix using the function >>> chol(), I get the following error for which I do not understand the meaning >>> of the error >>> >>> Error in chol.default(M_cov) : >>> the leading minor of order 10 is not positive definite >>> >>> When I searched online for similar error reported earlier I could get few >>> hits but not of much help to resolve my error and one post suggested to use >>> different function called sechol() from accuracy package but that did not >>> work and it leads to different errors. So I want to stick to function >>> chol() itself. >>> >>> Could you please help me to find where things are going wrong in my matrix? >>> >>> >>> Thanks and regards, >>> B.Natarj >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >> >> >> >> -- >> >> Bert Gunter >> Genentech Nonclinical Biostatistics >> >> Internal Contact Info: >> Phone: 467-7374 >> Website: >> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm >> >> > > > > -- > > Bert Gunter > Genentech Nonclinical Biostatistics > > Internal Contact Info: > Phone: 467-7374 > Website: > http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.