{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/28827","repository_url":"https://api.github.com/repos/JuliaLang/julia","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/28827/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/28827/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/28827/events","html_url":"https://github.com/JuliaLang/julia/issues/28827","id":352952550,"node_id":"MDU6SXNzdWUzNTI5NTI1NTA=","number":28827,"title":"Disambiguate division and pseudo-division?","user":{"login":"martinholters","id":15785210,"node_id":"MDQ6VXNlcjE1Nzg1MjEw","avatar_url":"https://avatars0.githubusercontent.com/u/15785210?v=4","gravatar_id":"","url":"https://api.github.com/users/martinholters","html_url":"https://github.com/martinholters","followers_url":"https://api.github.com/users/martinholters/followers","following_url":"https://api.github.com/users/martinholters/following{/other_user}","gists_url":"https://api.github.com/users/martinholters/gists{/gist_id}","starred_url":"https://api.github.com/users/martinholters/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinholters/subscriptions","organizations_url":"https://api.github.com/users/martinholters/orgs","repos_url":"https://api.github.com/users/martinholters/repos","events_url":"https://api.github.com/users/martinholters/events{/privacy}","received_events_url":"https://api.github.com/users/martinholters/received_events","type":"User","site_admin":false},"labels":[{"id":210700,"node_id":"MDU6TGFiZWwyMTA3MDA=","url":"https://api.github.com/repos/JuliaLang/julia/labels/decision","name":"decision","color":"F08000","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-22T13:25:11Z","updated_at":"2018-08-22T13:35:50Z","closed_at":null,"author_association":"MEMBER","body":"...where division means \"equivalent to multiplication with inverse\" and pseudo-division means \"equivalent to multiplication with pseudo-inverse\" (with equivalence neglecting any numerical issues). Briefly came up in #23067. Motivating example:\r\n```julia\r\njulia> using LinearAlgebra\r\n\r\njulia> foo(n) = zeros(n, 3) \\ zeros(n, 1)\r\nfoo (generic function with 1 method)\r\n\r\njulia> foo(1)\r\n3×1 Array{Float64,2}:\r\n 0.0\r\n 0.0\r\n 0.0\r\n\r\njulia> foo(2)\r\n3×1 Array{Float64,2}:\r\n 0.0\r\n 0.0\r\n 0.0\r\n\r\njulia> foo(3)\r\nERROR: SingularException(1)\r\nStacktrace:\r\n [1] ldiv!(::Diagonal{Float64,Array{Float64,1}}, ::Array{Float64,2}) at stdlib/v1.1/LinearAlgebra/src/diagonal.jl:438\r\n [2] \\(::Diagonal{Float64,Array{Float64,1}}, ::Array{Float64,2}) at stdlib/v1.1/LinearAlgebra/src/diagonal.jl:445\r\n [3] \\(::Array{Float64,2}, ::Array{Float64,2}) at stdlib/v1.1/LinearAlgebra/src/generic.jl:862\r\n [4] foo(::Int64) at ./REPL[2]:1\r\n [5] top-level scope at none:0\r\n\r\njulia> foo(4)\r\n3×1 Array{Float64,2}:\r\n 0.0\r\n 0.0\r\n 0.0\r\n```\r\n\r\nHere, it would be useful if there was a dedicated operator to ask for the least-squares solution. But if there was one, `\\` should probably always mean exact solution and fail for rectangular matrices.\r\n\r\nSo if we do this, it would be quite breaking. Is it justified? Should we explore this?"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/415033812","html_url":"https://github.com/JuliaLang/julia/issues/28827#issuecomment-415033812","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/28827","id":415033812,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNTAzMzgxMg==","user":{"login":"yuyichao","id":712232,"node_id":"MDQ6VXNlcjcxMjIzMg==","avatar_url":"https://avatars3.githubusercontent.com/u/712232?v=4","gravatar_id":"","url":"https://api.github.com/users/yuyichao","html_url":"https://github.com/yuyichao","followers_url":"https://api.github.com/users/yuyichao/followers","following_url":"https://api.github.com/users/yuyichao/following{/other_user}","gists_url":"https://api.github.com/users/yuyichao/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyichao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyichao/subscriptions","organizations_url":"https://api.github.com/users/yuyichao/orgs","repos_url":"https://api.github.com/users/yuyichao/repos","events_url":"https://api.github.com/users/yuyichao/events{/privacy}","received_events_url":"https://api.github.com/users/yuyichao/received_events","type":"User","site_admin":false},"created_at":"2018-08-22T13:35:50Z","updated_at":"2018-08-22T13:35:50Z","author_association":"MEMBER","body":"Just pointing out that I complained about this right soon you made this change https://github.com/JuliaLang/julia/pull/23067#discussion_r144685229 but no one seems to think the ambiguity was an issue for anyone. Also https://github.com/JuliaLang/julia/issues/25431"}}
{"actor":{"display_login":"yuyichao"}}