Is there any reason why we can’t further generalize elastic net to penalize l1||Gx||_1 + l2||Gx||_2 for a square matrix G.
or even two matrices G,H (where in my case G=H)
Ryan H. Lewis
@rhl-
to make it simple, i’m thinking of G and H as diagonal matrices.
Looking at the EN code, it looks like I need to just patch up the corresponding bits of the objective function
Ryan H. Lewis
@rhl-
If I change it to: l_1 ||Gx|| + l_2||Hx|| then I need to stick H on the upper two entries of the diagonal of Q in your EN function, and then (assuming G = diag(g)) stick the entries of g in where the first two array of ones are..
and H can be an arbitrary matrix. Not sure how to do the same thing for G here.. but, I don’t need it.
Jack Poulson
@poulson
There's no reason that wouldn't be possible, but it wouldn't be "Elastic Net" anymore
it's still a QP
Ryan H. Lewis
@rhl-
@poulson was thinking of doing elastic net with a regularizer. E.g. in ||Ax-b|| making ||(AP^{-1})Px-b|| then saying z = Px
Aidan Dang
@AidanGG
Hi all, I've got an example of a matrix that's giving me problems, as a .bin file from El::Write. It's about 63MB. What's the easiest way for me to send it?
Jack Poulson
@poulson
is there a website you can post it to and link to?
Aidan Dang
@AidanGG
I'll chuck it on my google drive
Jack Poulson
@poulson
is there any context for this matrix?
Aidan Dang
@AidanGG
It was generated as part of a tensor network calculation
Jack Poulson
@poulson
was it an intermediate step in an alternating algorithm?
Aidan Dang
@AidanGG
I'm using the svd to cut a matrix into two, then using the svd to cut one of those, and so on
Jack Poulson
@poulson
OK
Aidan Dang
@AidanGG
I'm fairly certain the matrix I have doesn't have any undefineds/NaNs
Jack Poulson
@poulson
it would be good to see if Octave can safely compute the SVD of that matrix as well
my guess is that it would take about 10 minutes
Aidan Dang
@AidanGG
I think scalapack does
Jack Poulson
@poulson
assuming roughly a 3 thousand by 3 thousand matrix
you can also tell Elemental not to worry if the singular values don't all converge
Aidan Dang
@AidanGG
those are my distmatrix.bin and test script
I've tried setting qrctrl.demandconverged to false, but I don't think that worked either
Jack Poulson
@poulson
it still complained about not converging?
I haven't tested that option explicitly but tried to set it up
I'm downloading it now
I have about ten minutes to make/drink coffee, figure this out, and run to work but can hopefully find something
Aidan Dang
@AidanGG
Please don't stress too much about it, you've been a great help.
If I set demandconverged to false, it appears to hang
Jack Poulson
@poulson
something seems to be wrong with that file:
poulson@poulson-ASUS:~/Source/Internal/Elemental/build-gcc$ ./bin/sandbox-test
terminate called after throwing an instance of 'std::runtime_error'
what():Expected file to be 8 bytes but found 63406096Aborted (core dumped)