Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rely on other packages for higher performance #7

Merged
merged 4 commits into from
Jul 4, 2020
Merged

Conversation

jverzani
Copy link
Owner

@jverzani jverzani commented Jul 2, 2020

Based on suggestions in issue JuliaMath/SpecialFunctions.jl#175 this

  • Uses FastTransforms to represent orthogonal polynomials in one basis in another, as possible. (For
    now, only when T<:AbstractFloat.) Introduces a means to create orthonormal basis vectors to take advantage of that option within the FastTransforms functions. This exposed some baked in assumptions that p_0 = 1, which isn't the case for this normalization.

  • Use FastGaussQuadrature to compute gauss nodes and weights, as possible

  • Uses hypergeometric functions from HypergeometricFunctions, as possible. Create a Basis(P,n) type for direct evaluation of basis vectors through the hypergeometric formulation as an alternative to Clenshaw reduction.

  • some code cleanup

@codecov
Copy link

codecov bot commented Jul 2, 2020

Codecov Report

Merging #7 into master will decrease coverage by 3.47%.
The diff coverage is 74.58%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master       #7      +/-   ##
==========================================
- Coverage   70.79%   67.31%   -3.48%     
==========================================
  Files          29       29              
  Lines        1630     1735     +105     
==========================================
+ Hits         1154     1168      +14     
- Misses        476      567      +91     
Impacted Files Coverage Δ
src/Orthogonal/glaser-liu-rokhlin.jl 0.00% <0.00%> (-85.00%) ⬇️
src/SpecialPolynomials.jl 100.00% <ø> (ø)
src/Orthogonal/orthogonal.jl 42.16% <20.00%> (-14.55%) ⬇️
src/utils.jl 67.39% <33.33%> (-2.38%) ⬇️
src/Orthogonal/Hermite.jl 76.40% <50.00%> (+3.07%) ⬆️
src/Orthogonal/Chebyshev.jl 62.17% <66.66%> (+0.08%) ⬆️
src/Orthogonal/abstract.jl 70.19% <70.58%> (-6.82%) ⬇️
src/Orthogonal/cop.jl 67.34% <73.07%> (-10.44%) ⬇️
src/Orthogonal/ccop.jl 92.92% <88.88%> (-0.76%) ⬇️
src/Orthogonal/connection.jl 94.18% <89.28%> (+6.68%) ⬆️
... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f97a6b3...e50b969. Read the comment docs.

@jverzani jverzani merged commit 7245607 into master Jul 4, 2020
@jverzani jverzani mentioned this pull request Jul 6, 2020
@jverzani jverzani deleted the speedup branch July 6, 2020 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant