{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/14504","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/14504/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/14504/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/14504/events","html_url":"https://github.com/JuliaLang/julia/pull/14504","id":124263523,"number":14504,"title":"Make generic Ac_mul_B! and A_mul_Bc! work for complex triangular A and B respectively","user":{"login":"Sacha0","id":5799177,"avatar_url":"https://avatars.githubusercontent.com/u/5799177?v=3","gravatar_id":"","url":"https://api.github.com/users/Sacha0","html_url":"https://github.com/Sacha0","followers_url":"https://api.github.com/users/Sacha0/followers","following_url":"https://api.github.com/users/Sacha0/following{/other_user}","gists_url":"https://api.github.com/users/Sacha0/gists{/gist_id}","starred_url":"https://api.github.com/users/Sacha0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sacha0/subscriptions","organizations_url":"https://api.github.com/users/Sacha0/orgs","repos_url":"https://api.github.com/users/Sacha0/repos","events_url":"https://api.github.com/users/Sacha0/events{/privacy}","received_events_url":"https://api.github.com/users/Sacha0/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/needs-tests","name":"needs-tests","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-29T20:24:21Z","updated_at":"2015-12-30T08:09:48Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/14504","html_url":"https://github.com/JuliaLang/julia/pull/14504","diff_url":"https://github.com/JuliaLang/julia/pull/14504.diff","patch_url":"https://github.com/JuliaLang/julia/pull/14504.patch"},"body":"Fixes #14502. Two questions:\r\n\r\n1. I preserved the existing `A.data[i,i]'B[i,j]` style in this pull request. Is there a reason to prefer that style to more explicit expressions like `A.data[i,i]' * B[i,j]` or even `ctranspose(A.data[i,i]) * B[i,j]`?\r\n\r\n2. Needs better tests as in #14502. I wasn't certain how to go about adding them. Three possible approaches:\r\n  1. Minimal modification. Add `Complex{BigFloat}` to the set of element types to test over in test/linalg/triangular.jl. That change should circumvent the BLAS-calling methods' suspected shadowing of the corresponding generic methods for complex arguments.\r\n  2. Slightly more modification. Add explicit `invoke`s of the generic methods.\r\n\r\nGiven test/linalg/triangular.jl contains endearing lines like\r\n```julia\r\nA1 = t1(elty1 == Int ? rand(1:7, n, n) : convert(Matrix{elty1}, (elty1 <: Complex ? complex(randn(n, n), randn(n, n)) : randn(n, n)) |> t -> chol(t't) |> t -> uplo1 == :U ? t : ctranspose(t)))\r\n```\r\nI'm inclined to either touch that file as little as possible (and thus take approach i) or refactor the entire thing. That line is positively clever and concomitantly difficult to decipher. Thanks, and best!"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/167955155","html_url":"https://github.com/JuliaLang/julia/pull/14504#issuecomment-167955155","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/14504","id":167955155,"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-12-30T08:09:48Z","updated_at":"2015-12-30T08:09:48Z","body":"I would be in favor of some readability refactoring, as long as you preserve the test coverage."}}