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
Carlos Borges
@cecborges_twitter
I have also another question regarding the command resize for a a distributed matrix. I would expect it to work similarly to matlab, I mean if you have a 3 x3 matrix and try to resize to a 9x1 matrix, the command would stack the columns of the matrix. Is this what I should expect? I believe that in some of the col and row aligns it was not working like that.
Jack Poulson
@poulson
the Gemm calls can be replaced with std::function calls similar to the way I implemented FGMRES
ah, that would be reshape
which does not exist in Elemental
at least, I don't think I ever implemented it
err, actually I did implement Reshape
Carlos Borges
@cecborges_twitter
I implemented using bind, instead of function, but the code is very similar
Carlos Borges
@cecborges_twitter
Ah ok. I actually made a copy of the matrix using <T,CIRC,CIRC> and them I used resize on this copy and this gives me the same as reshape.
DistMatrix<T,El::CIRC,El::CIRC> C_copy(C.Height(),C.Width(),g);
C_copy=C;
C_copy.Resize(C_copy.Height()*C_copy.Width(),1);
Jack Poulson
@poulson
I would highly recommend calling Reshape instead
The CIRC,CIRC distribution puts the entire matrix on one process
Carlos Borges
@cecborges_twitter
Thanks I will do that, and it also saves me some trouble in having to change the distribution.
Jack Poulson
@poulson
please feel free to ask any questions if you run into anymore road blocks
Carlos Borges
@cecborges_twitter
thank you very much.
i started working on it last year but didn't find much material online.
Demian Wassermann
@demianw
Hi! I'm trying to install Elemental into an Anaconda environment python 3.5. After succesfully checking the python options building and installing with CMAKE, the Elemental python module seems to not be there. Any ideas on this? Thanks!
Jack Poulson
@poulson
This is good motivation to push out the Anaconda package being discussed at elemental/Elemental#207
What CMake configuration flags did you use?
the usual issue is that you need to make sure your PYTHONPATH includes the Python installation directory
Also DYLD_LIBRARY_PATH needs to be set: http://libelemental.org/documentation/dev/build.html#mac-os-x
Demian Wassermann
@demianw
Thanks for the response. I did set up the PYTHONPATH and I tried on a linux machine and OSX. In both cases the installation of the python package did not work
The python files were not installed in the right folder as a package under python3.5/site-packages but in the top-level folder
Ryan H. Lewis
@rhl-
You can control where most elements of the install go. Look at the redhat/elemental-spec for an example
Aidan Dang
@AidanGG
Hi Jack, thanks for merging my PR. I've got some issues with COMPACT_SVD. In https://github.com/elemental/Elemental/blob/master/src/lapack_like/spectral/SVD.cpp#L75, the default tol is used to cull 'low enough but not necessarily zero' singular values. Is this the intended behaviour? Lines 277, 469, 771 and 1126 of src/lapack_like/spectral/BidiagSVD.cpp seem to contradict this, and do not make use of the APosterioriThreshold function.
Aidan Dang
@AidanGG
Also, would you know what I can do if an SVD does not converge? I am trying to build with ScaLAPACK to see if I have problems there, but I'm running into issues building with ScaLAPACK and 64-bit ints.
Ryan H. Lewis
@rhl-
@poulson ^^
Aidan Dang
@AidanGG
After a bit of experimentation, I have found that the convergence issues only occur when I run with a certain number of MPI processes. More specifically, I have a 4x6 matrix on the default 4 process grid which fails to converge for SVD.
Ryan H. Lewis
@rhl-
@aidan is it possible for you to add some unit tests to certify your case ?
Aidan Dang
@AidanGG
Sure, I'll try to write one soonish.
Ryan H. Lewis
@rhl-
Thanks :)
Jack Poulson
@poulson
@AidanGG Sorry, I hadn't checked this gitter in a while for temporary reasons. The COMPACT_SVD is indeed meant to have that behavior: the finite-precision reduction to bidiagonal form introduces a perturbation of magnitude similar to eps || A ||_2 max(m,n), and so one should ignore singular values below this amount.
any cases of SVD not converging should be a bug: do you have a reproducing example?
there are several SVD algorithms (e.g., Divide and Conquer and QR), so it is unlikely that multiple of them are not converging for the same matrix
and you are correct that ScaLAPACK does not support 64-bit integers (and the problem is in the library itself, not Elemental)
I've been working on getting the LP solvers to work on all of the http://www.netlib.org/lp/data/ examples using a symmetric-indefinite solver and hadn't been checking in as much as I should have
Ryan H. Lewis
@rhl-
@poulson ping?
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