{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/11324","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/11324/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/11324/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/11324/events","html_url":"https://github.com/JuliaLang/julia/issues/11324","id":77528674,"number":11324,"title":"About SparseVectors","user":{"login":"lindahua","id":1900250,"avatar_url":"https://avatars.githubusercontent.com/u/1900250?v=3","gravatar_id":"","url":"https://api.github.com/users/lindahua","html_url":"https://github.com/lindahua","followers_url":"https://api.github.com/users/lindahua/followers","following_url":"https://api.github.com/users/lindahua/following{/other_user}","gists_url":"https://api.github.com/users/lindahua/gists{/gist_id}","starred_url":"https://api.github.com/users/lindahua/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lindahua/subscriptions","organizations_url":"https://api.github.com/users/lindahua/orgs","repos_url":"https://api.github.com/users/lindahua/repos","events_url":"https://api.github.com/users/lindahua/events{/privacy}","received_events_url":"https://api.github.com/users/lindahua/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/decision","name":"decision","color":"F08000"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/sparse","name":"sparse","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/JuliaLang/julia/milestones/11","html_url":"https://github.com/JuliaLang/julia/milestones/0.4.0","labels_url":"https://api.github.com/repos/JuliaLang/julia/milestones/11/labels","id":748886,"number":11,"title":"0.4.0","description":"For tracking release-defining items for 0.4: important new features, breaking changes, and blocking bugs.\r\n\r\nAfter a brief period for deciding scope, adding issues to this milestone is not allowed. Once the items in this milestone are done, 0.4 will enter its stabilizing period and a release candidate can be made soon after.","creator":{"login":"JeffBezanson","id":744556,"avatar_url":"https://avatars.githubusercontent.com/u/744556?v=3","gravatar_id":"","url":"https://api.github.com/users/JeffBezanson","html_url":"https://github.com/JeffBezanson","followers_url":"https://api.github.com/users/JeffBezanson/followers","following_url":"https://api.github.com/users/JeffBezanson/following{/other_user}","gists_url":"https://api.github.com/users/JeffBezanson/gists{/gist_id}","starred_url":"https://api.github.com/users/JeffBezanson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeffBezanson/subscriptions","organizations_url":"https://api.github.com/users/JeffBezanson/orgs","repos_url":"https://api.github.com/users/JeffBezanson/repos","events_url":"https://api.github.com/users/JeffBezanson/events{/privacy}","received_events_url":"https://api.github.com/users/JeffBezanson/received_events","type":"User","site_admin":false},"open_issues":27,"closed_issues":43,"state":"open","created_at":"2014-08-10T18:13:46Z","updated_at":"2015-05-18T23:47:48Z","due_on":"2015-06-20T18:30:00Z","closed_at":null},"comments":5,"created_at":"2015-05-18T06:50:25Z","updated_at":"2015-05-19T02:48:27Z","closed_at":null,"body":"There's been a lot of debate about whether we should incorporate sparse vectors into Julia 0.4.\r\n\r\nHere are three options:\r\n\r\n- (A) Use ``SparseMatrixCSC`` to emulate a sparse vector. This, as many have pointed out in other issues, breaks the consistency with the dense arrays. It is also unnatural and inefficient. \r\n\r\n- (B) Add ``SparseVector`` to base *before* 0.4 is released.  The functionalities have been developed and tested in [SparseVectors.jl](https://github.com/JuliaSparse/SparseVectors.jl). These functionalities are relatively simple and they don't need a long time to get mature. (#8718)\r\n\r\n- (C) Deprecate sparse vector related functions in Base, and add ``SparseVector`` to base *after* 0.4 is released. (#11323)\r\n\r\nPersonally, I don't like (A), and I am fine with either (B) or (C).\r\n\r\nOne opinion against (B) is that there can be multiple ways to represent a sparse vector. However, IMHO, the way used in [SparseVectors.jl](https://github.com/JuliaSparse/SparseVectors.jl) seems to be the most natural way, and it is consistent with both CSC and COO formats. I understand that other formats may be more suitable for certain situations. For such cases, it is not difficult to develop a new sparse vector format (using a different type name of course). \r\n\r\ncc: @tkelman @ViralBShah @StefanKarpinski @mlubin \r\n\r\nSince @ViralBShah has tagged #8718 as 0.4, and that PR was closed, I tag this as 0.4 in order to make sure that we come to a decision before 0.4 is released."},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/103310368","html_url":"https://github.com/JuliaLang/julia/issues/11324#issuecomment-103310368","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/11324","id":103310368,"user":{"login":"ViralBShah","id":744411,"avatar_url":"https://avatars.githubusercontent.com/u/744411?v=3","gravatar_id":"","url":"https://api.github.com/users/ViralBShah","html_url":"https://github.com/ViralBShah","followers_url":"https://api.github.com/users/ViralBShah/followers","following_url":"https://api.github.com/users/ViralBShah/following{/other_user}","gists_url":"https://api.github.com/users/ViralBShah/gists{/gist_id}","starred_url":"https://api.github.com/users/ViralBShah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ViralBShah/subscriptions","organizations_url":"https://api.github.com/users/ViralBShah/orgs","repos_url":"https://api.github.com/users/ViralBShah/repos","events_url":"https://api.github.com/users/ViralBShah/events{/privacy}","received_events_url":"https://api.github.com/users/ViralBShah/received_events","type":"User","site_admin":false},"created_at":"2015-05-19T02:48:27Z","updated_at":"2015-05-19T02:48:27Z","body":"It is these kinds of inconsistencies I don't like, which make the system feel lacking. I wish we had N-d too, but that is likely to happen in JuliaSparse rather than Base.\r\n\r\nI also feel that a sparse vector will be useful with non-numeric data types as well."}}