JuliaMath / RealDot.jl

Compute `real(dot(x, y))` efficiently.
MIT License
4 stars 3 forks source link

Move to JuliaMath? #3

Closed devmotion closed 2 years ago

devmotion commented 2 years ago

This package implements a single function realdot(x, y) that computes real(dot(x, y)) without computing the imaginary part of dot(x, y) if possible (currently specializations are defined for realdot(::Complex, ::Complex), realdot(::Complex, ::Real), and realdot(::Real, ::Complex)). realdot shows up when defining pullbacks of non-holomorphic functions on complex numbers e.g. in SpecialFunctions and ChainRules but has a more general non-AD related interpretation for complex arrays (realdot of two complex arrays is just the dot product of the two arrays reinterpreted as real arrays, see the README for more details) and more general use e.g. in StatsBase (https://github.com/JuliaStats/StatsBase.jl/blob/0a179531f14d0140356fcf1f1d55bd0240030cf2/src/scalarstats.jl#L259-L261).

It would be good to move the repo to an official Julia organization, I guess, before registering it and making PRs to central packages such as SpecialFunctions, ChainRules, or StatsBase. The main motivation would be that the package lives at a more official location and does not seem to be just a personal project. Additionally, it might be easier to find and more easily attract other contributors (even though I don't expect many changes).

I think JuliaMath would be a good fit.

devmotion commented 2 years ago

Done.