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

Basis Eval at arbitrary points #1164

Merged
merged 2 commits into from
Jul 12, 2023
Merged

Basis Eval at arbitrary points #1164

merged 2 commits into from
Jul 12, 2023

Conversation

jeremylt
Copy link
Member

@jeremylt jeremylt commented Feb 21, 2023

This PR adds the ability to interpolate the basis to arbitrary points:

  • tests
  • Chebyshev interpolating polynomials instead of Legendre
  • map from Chebyshev coefficients to arbitrary points
  • transpose direction
  • create internal CeedBasis with "interpolation" from nodes to coefficients (combine interp + map to coeffs to one set of contractions)

interface/ceed-basis.c Outdated Show resolved Hide resolved
interface/ceed-basis.c Outdated Show resolved Hide resolved
@jeremylt jeremylt marked this pull request as draft March 7, 2023 22:41
@jeremylt jeremylt force-pushed the jeremy/basis-at-points branch 4 times, most recently from 0568341 to 08fc95a Compare April 27, 2023 16:29
@jeremylt jeremylt force-pushed the jeremy/basis-at-points branch 4 times, most recently from 8d0f4d9 to fdaa3f9 Compare May 10, 2023 21:25
interface/ceed-basis.c Outdated Show resolved Hide resolved
@jeremylt jeremylt force-pushed the jeremy/basis-at-points branch 3 times, most recently from 4e14fb0 to 1ad0850 Compare June 30, 2023 19:19
@jeremylt jeremylt force-pushed the jeremy/basis-at-points branch 4 times, most recently from d10fccd to cd08c98 Compare June 30, 2023 19:58
Copy link
Member

@jedbrown jedbrown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! It may be worth sketching out the implementation strategy in the documentation. It's something we'll be working on for GPU backends at some point so the math explanation won't be a waste. There will be choices about granularity. For example, the first tensor contraction could evaluate to the y-z planes of all the particles, or of a batch of particles, instead of just one particle at a time. I don't know if that's really a win.

Have you tested the pseudo-inverse approach with Q>P?

interface/ceed-basis.c Show resolved Hide resolved
interface/ceed-basis.c Outdated Show resolved Hide resolved
@jeremylt jeremylt force-pushed the jeremy/basis-at-points branch 2 times, most recently from 2dbced6 to 7436d4e Compare July 7, 2023 15:02
@jeremylt jeremylt force-pushed the jeremy/basis-at-points branch 2 times, most recently from c728f78 to 4bcff71 Compare July 7, 2023 16:29
@jeremylt jeremylt added 1-In Review and removed 0-WIP labels Jul 7, 2023
@jeremylt jeremylt marked this pull request as ready for review July 7, 2023 17:24
@jeremylt jeremylt force-pushed the jeremy/basis-at-points branch 3 times, most recently from 5b932c7 to 35e02a7 Compare July 11, 2023 17:07
@jeremylt jeremylt mentioned this pull request Jul 11, 2023
1 task
@jeremylt
Copy link
Member Author

All backends pass now - ready to merge

Copy link
Member

@jedbrown jedbrown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

woohoo

@jeremylt jeremylt merged commit d4fddea into main Jul 12, 2023
26 checks passed
@jeremylt jeremylt deleted the jeremy/basis-at-points branch July 12, 2023 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants