Hmm, Will Xt*X be positive definite in all cases? For example it's not
if X has linearly independent rows? (I'm not going to guarantee 100%
that I haven't missed something there.)

Even though your data is huge, if it was generated by some synthetic
process, maybe it is very low rank?

QR decomposition is pretty good here, yes.
--
Sean Owen | Director, Data Science | London


On Thu, Mar 6, 2014 at 3:05 PM, Debasish Das <debasish.da...@gmail.com> wrote:
> Hi Sebastian,
>
> Yes Mahout ALS and Oryx runs fine on the same matrix because Sean calls QR
> decomposition.
>
> But the ALS objective should give us strictly positive definite matrix..I
> am thinking more on it..
>
> There are some random factor assignment step but that also initializes
> factors with normal(0,1)...which I think is not a big deal...
>
> About QR decomposition, jblas has Solve.solve and
> Solve.solvePositive...solve should also run fine but it does a LU
> factorization and better way will be to do a QR decomposition.
>
> Seems breeze has QR decomposition and we can make use of that...But QR by
> default is also not correct since if the matrix is positive definite BLAS
> psov (Solve.solvePositive) is much faster due to cholesky computation..
>
> I believe we need a singular value check and based on that we should call
> solvePositive/solve or qr from breeze..
>
> There is also a specialized version of TSQR (tall and skinny QR
> decomposition) from Chris which might be good to evaluate as well:
>
> https://github.com/ccsevers/scalding-linalg
>
> I am going to debug it further and try to understand why I am getting non
> positive definite matrix and publish the findings...
>
> Any suggestions on how to proceed further on this ? Should I ask for a PR
> and we can discuss more on it ?
>
> Thanks.
> Deb
>
> On Thu, Mar 6, 2014 at 6:47 AM, Sebastian Schelter <s...@apache.org> wrote:
>
>> I'm not sure about the mathematical details, but I found in some
>> experiments with Mahout that the matrix there was also not positive
>> definite. Therefore, we chose QR decomposition to solve the linear system.
>>
>>
>> --sebastian
>>
>>
>> On 03/06/2014 03:44 PM, Debasish Das wrote:
>>
>>> Hi,
>>>
>>> I am running ALS on a sparse problem (10M x 1M) and I am getting the
>>> following error:
>>>
>>> org.jblas.exceptions.LapackArgumentException: LAPACK DPOSV: Leading minor
>>> of order i of A is not positive definite.
>>> at org.jblas.SimpleBlas.posv(SimpleBlas.java:373)
>>> at org.jblas.Solve.solvePositive(Solve.java:68)
>>>
>>> This error from blas shows up if the hessian matrix is not positive
>>> definite...
>>>
>>> I checked that rating matrix is all > 0 but of course like netflix they
>>> are
>>> not bounded within 1 and 5....
>>>
>>> Is there some sort of specific initialization of factor matrices done
>>> which
>>> can make the hessian matrix non positive definite ?
>>>
>>> I am printing out the eigen vectors and fullXtX matrix to understand it
>>> more but any help will be appreciated.
>>>
>>> Thanks.
>>> Deb
>>>
>>>
>>

Reply via email to