Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 14 01:33
    poulson closed #276
  • May 14 01:33
    poulson commented #276
  • May 14 01:30

    poulson on master

    Update README.md (compare)

  • May 14 01:24

    poulson on master

    added logo (compare)

  • May 10 21:37
    jedbrown commented #276
  • May 10 21:25
    poulson commented #276
  • May 10 21:21
    jedbrown commented #276
  • May 10 17:08
    poulson commented #276
  • May 10 17:03
    tesch1 opened #276
  • Apr 10 13:18
    JM1 commented #275
  • Apr 10 13:16
    JM1 synchronize #275
  • Apr 10 08:56
    JM1 opened #275
  • Mar 06 03:47
    Raviteja1996 closed #274
  • Mar 05 05:46
    Raviteja1996 opened #274
  • Feb 11 21:53
    BenBrock commented #228
  • Feb 11 21:52
    BenBrock commented #228
  • Feb 11 21:51
    poulson commented #228
  • Feb 11 21:50
    poulson commented #228
  • Feb 11 21:45
    BenBrock commented #228
  • Jan 23 23:57
    adambaskerville commented #273
Ryan H. Lewis
@rhl-
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
ScaLAPACK uses the QR algorithm
have you tested Elemental's QR algorithm on it?
Aidan Dang
@AidanGG
is that through bidiagSVDctrl.useQR?
Jack Poulson
@poulson
yes, that is the best way
Aidan Dang
@AidanGG
Ok, it still doesn't work
Jack Poulson
@poulson
what is the error/exception?
Aidan Dang
@AidanGG
Did not converge all singular values
Jack Poulson
@poulson
one can increase the maximum number of iterations to see if it was almost converging
Aidan Dang
@AidanGG
Is that qrCtrl.maxIterPerVal?
Jack Poulson
@poulson
bidiagSVDCtrl.qrCtrl.maxIterPerVal = 20 could be tried
yes
Also, did you verify that ScaLAPACK returned with INFO=0?
Aidan Dang
@AidanGG
Oh, I haven't, but the final results were sensible, so I assumed it was ok
Jack Poulson
@poulson
I would recommend checking for the sake of consistency, as it could very well be that there is one small troublesome singular value
Jack Poulson
@poulson
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 63406096

Aborted (core dumped)
how did you create it?
Aidan Dang
@AidanGG
El::Write