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

Randomly pivoted Cholesky and positive definite kernels (supersedes PR #85) #100

Merged
merged 8 commits into from
Feb 13, 2025

Conversation

rileyjmurray
Copy link
Contributor

Add initial support for positive definite kernels (see /misc/rl_pdkernels.hh).

  • Various helper functions for evaluating the Gaussian kernel (or any kernel that primarily relies on the Euclidean distance matrix).
  • Add a block_arrowhead_multiply function to avoid duplicate kernel evaluations when accessing a kernel matrix as a black-box linear operator.
  • Add an RBFKernelMatrix class that represents a collection of regularized RBF kernel matrices. This satisfies the SymmetricLinearOperator concept.

add randomly pivoted Cholesky (see /comps/rl_rpchol.hh):

  • Utility functions
    • compute_columns evaluates kernel matrices in parallel where the kernel matrix is specified by a function handle callable as K_stateless(i, j).
    • pack_selected_rows
    • downdate_d_and_cdf
  • rp_cholesky: implements Algorithm 4 from https://arxiv.org/abs/2304.12465.

Add a new driver, krill_full_rpchol, in drivers/rl_krill.hh, which basically implements arXiv:2304.12465's Algorithm 1.

…nding RandLAPACK version. This change only addresses failures that happened when CMakeCache.txt was edited after it was initially created.
@rileyjmurray
Copy link
Contributor Author

@TeachRaccooon this is ready to merge.

@TeachRaccooon TeachRaccooon merged commit 66ac027 into main Feb 13, 2025
4 checks passed
@TeachRaccooon TeachRaccooon deleted the rpchol-and-pd-kernels branch February 13, 2025 22:39
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.

2 participants