matrix inversion in plan ?

2015-10-02 Thread go canal
HiI saw some distributed matrix functions included in Samsara now. Wondering if we have a plan to support matrix inversion ?BTW, am I correct that it is distributed memory based, not out-of-core ? thanks, canal

Re: matrix inversion in plan ?

2015-10-03 Thread Ted Dunning
I doubt seriously that Samsara will support matrix inversion per se. The problem is a) it densifies sparse matrices b) it is much more costly than solving a linear system Samsara is roughly memory based, but different back-ends will try to spill to disk if necessary. It is likely that the resul

Re: matrix inversion in plan ?

2015-10-03 Thread go canal
oh, it is so unfortunate that the first step of my project requires the inversion of a very large matrix. will have to revert back to scalapack or MR based solutions I guess.  thanks, canal On Saturday, October 3, 2015 11:31 PM, Ted Dunning wrote: I doubt seriously that Samsara wi

Re: matrix inversion in plan ?

2015-10-03 Thread Allen McIntosh
Can you explain why you feel you must invert a very large matrix. This can be a Bad Idea. On 10/03/2015 08:09 PM, go canal wrote: > oh, it is so unfortunate that the first step of my project requires > the inversion of a very large matrix. will have to revert back to > scalapack or MR based solut

Re: matrix inversion in plan ?

2015-10-03 Thread Andrew Musselman
If there's a need for inversion that's good info; would love to know the purpose to get a sense of how people want to use the product. On Saturday, October 3, 2015, Allen McIntosh wrote: > Can you explain why you feel you must invert a very large matrix. This > can be a Bad Idea. > > On 10/03/2

Re: matrix inversion in plan ?

2015-10-04 Thread Ted Dunning
It is almost certain that starting with an inversion is a serious error. Are you sure you don't want a matrix solver instead? Sent from my iPhone > On Oct 3, 2015, at 20:09, go canal wrote: > > oh, it is so unfortunate that the first step of my project requires the > inversion of a very lar

Re: matrix inversion in plan ?

2015-10-04 Thread Peter Jaumann
This should be done with a matrix solver indeed!!! On Oct 4, 2015 11:53 AM, "Ted Dunning" wrote: > > > It is almost certain that starting with an inversion is a serious error. > > Are you sure you don't want a matrix solver instead? > > Sent from my iPhone > > > On Oct 3, 2015, at 20:09, go can

Re: matrix inversion in plan ?

2015-10-04 Thread go canal
Thank you all, the solver is something like this, am I correct: Matrix m = Matrix inverse = new QRDecomposition(m).solve(new DiagonalMatrix(1, m.rowSize())); The problem I have is that the matrix is too big, I need distributed, or out-of-core solution.  thanks, canal On Monday, Oct

Re: matrix inversion in plan ?

2015-10-04 Thread Allen McIntosh
1) Is m sparse? 2) Once you have computed "inverse", what are you going to do with it? On 10/04/2015 10:31 PM, go canal wrote: > Thank you all, the solver is something like this, am I correct: > Matrix m = > Matrix inverse = new QRDecomposition(m).solve(new DiagonalMatrix(1, > m.rowSize()));

Re: matrix inversion in plan ?

2015-10-04 Thread go canal
both sparse and dense.  there are a few steps for the whole calculation:. inverse of M. get degree of freedom. multiplication. addition in fact i need to support both double and complex double for either distributed memory based or out-of-core. I found one MR based solution for large matrix inver

Re: matrix inversion in plan ?

2015-10-04 Thread Ted Dunning
This sort of thing would definitely compute the inverse. And it is definitely to be avoided. How about you give some specifics so I can say what should be done? On Sun, Oct 4, 2015 at 7:31 PM, go canal wrote: > Thank you all, the solver is something like this, am I correct: > Matrix m =

Re: matrix inversion in plan ?

2015-10-04 Thread Ted Dunning
On Sun, Oct 4, 2015 at 10:32 PM, go canal wrote: > in fact i need to support both double and complex double for either > distributed memory based or out-of-core. Ahh... Well Mahout doesn't support complex anything. So this isn't going to help you.

Re: matrix inversion in plan ?

2015-10-04 Thread go canal
many thanks, here is the details: given square matrix Z, . get Z inverse Zi. get degree of freedome of Zi : U. finally, calculate final which is:  A + B * U * C   thanks, canal On Monday, October 5, 2015 2:00 PM, Ted Dunning wrote: This sort of thing would definitely compute the i

Re: matrix inversion in plan ?

2015-10-04 Thread go canal
I will be more than interested to extend to complex double, when the solver is ready for double data type.  thanks, canal On Monday, October 5, 2015 2:02 PM, Ted Dunning wrote: On Sun, Oct 4, 2015 at 10:32 PM, go canal wrote: > in fact i need to support both double and complex do

Re: matrix inversion in plan ?

2015-10-04 Thread Ted Dunning
That isn't enough detail. How do you mean to compute degrees of freedom? WHy do you need the inverse to do this? Where did you get this algorithm? Is this even appropriate at large scale? Is this a stable computation? On Sun, Oct 4, 2015 at 11:18 PM, go canal wrote: > I will be more than

Re: matrix inversion in plan ?

2015-10-07 Thread go canal
Unfortunately I do not know much details of these. The steps of these calculation is passed to me from a research team. I am helping them with coding part only. I myself is not good at math :-(  btw,  I think Mahout supports out-of-core SVD, am I correct ? If so, I can get inverse of matrix from

Re: matrix inversion in plan ?

2015-10-08 Thread Ted Dunning
Yes. You can get the inverse from an SVD or emulate its effect. Can you share the actual mathematical specification for your problem? If you can't, then there is little we can do to help. On Wed, Oct 7, 2015 at 11:35 PM, go canal wrote: > Unfortunately I do not know much details of these. Th

Re: matrix inversion in plan ?

2015-10-08 Thread Andrew Musselman
Yeah, nice trick Ted; here's a how-to for the list: http://www.cse.unr.edu/~bebis/CS791E/Notes/SVD.pdf On Thu, Oct 8, 2015 at 2:31 PM, Ted Dunning wrote: > Yes. You can get the inverse from an SVD or emulate its effect. > > Can you share the actual mathematical specification for your problem? >

Re: matrix inversion in plan ?

2015-10-08 Thread Dmitriy Lyubimov
Mahout translation (approximation, since ssvd is reduced-rank, not the true thing): val (drmU, drmV, s) = dssvd(drmA, k = 100) val drmInvA = drmV %*% diagv(1 /=: s) %*% drmU.t Still, technically, it is a right inverse as in reality m is rarely the same as n. Also, k must be k<= drmA.nrow min drmA

Re: matrix inversion in plan ?

2015-10-08 Thread Andrew Musselman
Go, if you'd like to put your research team in touch with the list we may be able to help work through a good approach; let us know. On Thu, Oct 8, 2015 at 3:58 PM, Dmitriy Lyubimov wrote: > Mahout translation (approximation, since ssvd is reduced-rank, not the true > thing): > > val (drmU, drmV

Re: matrix inversion in plan ?

2015-10-08 Thread Dmitriy Lyubimov
or pseudoinverse really, i guess On Thu, Oct 8, 2015 at 3:58 PM, Dmitriy Lyubimov wrote: > Mahout translation (approximation, since ssvd is reduced-rank, not the > true thing): > > val (drmU, drmV, s) = dssvd(drmA, k = 100) > val drmInvA = drmV %*% diagv(1 /=: s) %*% drmU.t > > Still, technicall

Re: matrix inversion in plan ?

2015-10-08 Thread Andrew Musselman
Totally an approximation; depends on why people are asking for the inverse and whether it'd do. On Thu, Oct 8, 2015 at 4:20 PM, Dmitriy Lyubimov wrote: > or pseudoinverse really, i guess > > On Thu, Oct 8, 2015 at 3:58 PM, Dmitriy Lyubimov > wrote: > > > Mahout translation (approximation, since