{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/7488","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/7488/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/7488/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/7488/events","html_url":"https://github.com/JuliaLang/julia/issues/7488","id":36921012,"number":7488,"title":"Error in A_ldiv_B! with sparse matrix ","user":{"login":"CodeLenz","id":3483767,"avatar_url":"https://avatars.githubusercontent.com/u/3483767?v=3","gravatar_id":"","url":"https://api.github.com/users/CodeLenz","html_url":"https://github.com/CodeLenz","followers_url":"https://api.github.com/users/CodeLenz/followers","following_url":"https://api.github.com/users/CodeLenz/following{/other_user}","gists_url":"https://api.github.com/users/CodeLenz/gists{/gist_id}","starred_url":"https://api.github.com/users/CodeLenz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CodeLenz/subscriptions","organizations_url":"https://api.github.com/users/CodeLenz/orgs","repos_url":"https://api.github.com/users/CodeLenz/repos","events_url":"https://api.github.com/users/CodeLenz/events{/privacy}","received_events_url":"https://api.github.com/users/CodeLenz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/bug","name":"bug","color":"e10c02"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/sparse","name":"sparse","color":"fad8c7"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/JuliaLang/julia/milestones/8","labels_url":"https://api.github.com/repos/JuliaLang/julia/milestones/8/labels","id":303801,"number":8,"title":"0.4","description":"","creator":{"login":"vtjnash","id":330950,"avatar_url":"https://avatars.githubusercontent.com/u/330950?v=3","gravatar_id":"","url":"https://api.github.com/users/vtjnash","html_url":"https://github.com/vtjnash","followers_url":"https://api.github.com/users/vtjnash/followers","following_url":"https://api.github.com/users/vtjnash/following{/other_user}","gists_url":"https://api.github.com/users/vtjnash/gists{/gist_id}","starred_url":"https://api.github.com/users/vtjnash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vtjnash/subscriptions","organizations_url":"https://api.github.com/users/vtjnash/orgs","repos_url":"https://api.github.com/users/vtjnash/repos","events_url":"https://api.github.com/users/vtjnash/events{/privacy}","received_events_url":"https://api.github.com/users/vtjnash/received_events","type":"User","site_admin":false},"open_issues":100,"closed_issues":69,"state":"open","created_at":"2013-04-05T16:15:28Z","updated_at":"2015-02-14T11:23:19Z","due_on":"2015-02-10T08:00:00Z","closed_at":null},"comments":31,"created_at":"2014-07-01T18:50:30Z","updated_at":"2015-02-15T06:32:16Z","closed_at":"2015-02-14T11:07:26Z","body":"Hi.\r\n\r\nI just found a bug in A_ldiv_B! when used with a sparse matrix\r\nfactored with lufact! \r\n\r\nThe error is trigered with \r\n\r\n````\r\nA = spzeros(3,3)\r\nA[1,1] = 1\r\nA[2,2] = 1\r\nA[3,3] = 1\r\nb = ones(3)\r\n\r\nlufact!(A)\r\n\r\nA\\b  --> trigs the error.\r\n````\r\n\r\n ERROR: BoundsError()\r\n in istriu at sparse/sparsematrix.jl:1748\r\n in unsafe_copy! at array.jl:41\r\n in A_ldiv_B! at linalg/sparse.jl:209\r\n\r\njulia> versioninfo()\r\nJulia Version 0.3.0-prerelease+3952\r\nCommit b2fd3af (2014-06-30 01:39 UTC)\r\nPlatform Info:\r\n  System: Windows (x86_64-w64-mingw32)\r\n  CPU: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz\r\n  WORD_SIZE: 64\r\n  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)\r\n  LAPACK: libopenblas\r\n  LIBM: libopenlibm\r\n\r\nIt was working with the previous versions.\r\n\r\nSincerely yours,\r\nEduardo.\r\n"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/74406125","html_url":"https://github.com/JuliaLang/julia/issues/7488#issuecomment-74406125","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/7488","id":74406125,"user":{"login":"tkelman","id":5934628,"avatar_url":"https://avatars.githubusercontent.com/u/5934628?v=3","gravatar_id":"","url":"https://api.github.com/users/tkelman","html_url":"https://github.com/tkelman","followers_url":"https://api.github.com/users/tkelman/followers","following_url":"https://api.github.com/users/tkelman/following{/other_user}","gists_url":"https://api.github.com/users/tkelman/gists{/gist_id}","starred_url":"https://api.github.com/users/tkelman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tkelman/subscriptions","organizations_url":"https://api.github.com/users/tkelman/orgs","repos_url":"https://api.github.com/users/tkelman/repos","events_url":"https://api.github.com/users/tkelman/events{/privacy}","received_events_url":"https://api.github.com/users/tkelman/received_events","type":"User","site_admin":false},"created_at":"2015-02-15T06:32:16Z","updated_at":"2015-02-15T06:32:16Z","body":"That's great to see a start for a pure-Julia sparse solver implementation. So far that's working at a pretty low level though, the API refinement will need to happen somewhat separately from and in parallel with the pure-Julia solver implementations. Ideally we want a design somewhat like MathProgBase where different low-level solvers (some in Julia, some in C or C++ or Fortran) can plug into a uniform set of interfaces, to present the same API to consumers (whether users directly working with sparse linear algebra, or higher-level libraries like optimization solvers).\r\n\r\nThis probably should happen outside of base to start with. Though to truly resolve #8001 and make sparse matrices first-class citizens, the way base Julia deals with dense matrices will eventually have to adapt in order to generically handle either dense or sparse matrices for all operations."}}