Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to fetch and save selected sets of matrixes to a directory #19

Closed
ScottPJones opened this issue Oct 24, 2015 · 7 comments
Closed

Comments

@ScottPJones
Copy link

This is an enhancement request (if such a capability doesn't already exist that I haven't discovered yet), to be able to specify a set of matrixes (say, all of the sparse matrixes from UF), and then to fetch them all from the repository and save them as files in a directory, instead of creating the matrix.
I would then be able to (with a PR that I added to MatrixMarket JuliaSparse/MatrixMarket.jl#13) get the sparse matrix in coordinate format (I,J,V) to use in benchmarking different sparse matrix construction code (and operations).
See JuliaLang/julia#13400.
I have manually downloaded a few of the sparse matrixes from UF, but there are over 500 of them, so I'd like to be able to automate this task, and MatrixDepot looked like a very good starting point!
(If this capability is not already present, I'd be happy to work on making a PR to do this)

@weijianzhg
Copy link
Contributor

@ScottPJones That's a nice idea. A PR is very welcome 👍

@weijianzhg
Copy link
Contributor

Matrices in UF are categorized by groups(http://www.cise.ufl.edu/research/sparse/matrices/groups.html).
It will be nice to be able to get all 292 Harwell-Boeing sparse matrices using something like

matrixdepot("HB/*", :get)

Thanks.

@weijianzhg
Copy link
Contributor

@ScottPJones

I just implemented this feature. Now we can do matrixdepot("MathWorks/*", :get), for example, to download all the matrices contributed by MathWorks. Note matrixdepot() shows all the matrices in the collection:

julia> matrixdepot()

Matrices:
   1) baart            2) binomial         3) blur             4) cauchy        
   5) chebspec         6) chow             7) circul           8) clement       
   9) companion       10) deriv2          11) dingdong        12) fiedler       
  13) forsythe        14) foxgood         15) frank           16) golub         
  17) gravity         18) grcar           19) hadamard        20) hankel        
  21) heat            22) hilb            23) invhilb         24) invol         
  25) kahan           26) kms             27) lehmer          28) lotkin        
  29) magic           30) minij           31) moler           32) neumann       
  33) oscillate       34) parter          35) pascal          36) pei           
  37) phillips        38) poisson         39) prolate         40) randcorr      
  41) rando           42) randsvd         43) rohess          44) rosser        
  45) sampling        46) shaw            47) spikes          48) toeplitz      
  49) tridiag         50) triw            51) ursell          52) vand          
  53) wathen          54) wilkinson       55) wing            56) MathWorks/Harvard500
  57) MathWorks/Kaufhold
  58) MathWorks/Kuu   59) MathWorks/Muu   60) MathWorks/Pd    61) MathWorks/Pd_rhs
  62) MathWorks/pivtol
  63) MathWorks/QRpivot
  64) MathWorks/Sieber
  65) MathWorks/tomography
  66) MathWorks/TS  
Groups:
  all           data          eigen         ill-cond    
  inverse       pos-def       random        regprob     
  sparse        symmetric 

julia> matrixdepot("data")
11-element Array{AbstractString,1}:
 "MathWorks/Harvard500"
 "MathWorks/Kaufhold"  
 "MathWorks/Kuu"       
 "MathWorks/Muu"       
 "MathWorks/Pd"        
 "MathWorks/Pd_rhs"    
 "MathWorks/pivtol"    
 "MathWorks/QRpivot"   
 "MathWorks/Sieber"    
 "MathWorks/tomography"
 "MathWorks/TS"  

These matrices will be saved at joinpath(Pkg.dir("MatrixDepot"), "data", "uf", "MathWorks").

@ScottPJones
Copy link
Author

That is wonderful!!! Thanks so much!

@weijianzhg
Copy link
Contributor

You are welcome! :) I just released a new version. Please use MatrixDepot v0.4.1.

@ScottPJones
Copy link
Author

I'm just sorry I wasn't able to do the PR myself, and help out with MatrixDepot (have a deadline here with work)

@weijianzhg
Copy link
Contributor

No worries. Thanks for the suggestion! I had some free time this afternoon so I just used it to write code for fun ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants