Skip to content

Conversation

nathanielpritchard
Copy link
Contributor

Description

This PR implements a selection technique useful for interpolatory and CUR decompositions, which selects column indices based on the results to QR with column pivoting,

Motivation and Context

  • This is one technique that is commonly applied for selecting column indices from a matrix. Implementing this technique is important when one wants to examine different approaches to the CUR and interpolators decompositions.

How has this been tested

This has been tested by calling the select_indices function in the following example:

A = [0 1 0;
        0 0 2;
        3 0 0]
idx = zeros(Int64, 3)
start_idx = 1
n_idx = 3

select_indices!(idx, QRCPRecipe(), A, n_idx, start_idx) 

Types of changes

  • CI
  • Docs
  • Feature
  • Fix
  • Performance
  • Refactor
  • Style
  • Test
  • Other (use sparingly):

Checklists:

Code and Comments
If this PR includes modification to the code base, please select all that apply.

  • My code follows the code style of this project.
  • I have updated all package dependencies (if any).
  • I have included all relevant files to realize the functionality of the PR.
  • I have exported relevant functionality (if any).

API Documentation

  • For every exported function (if any), I have included a detailed docstring.
  • I have checked the spelling and grammar of all docstring updates through an external tool.
  • I have checked that the docstring's function signature is correctly formatted and has all arguments.
  • I have checked that the docstring's list of arguments, fields, or return values match the function.
  • I have compiled the docs locally and read through all docstring updates to check for errors.

Manual Documentation

  • I have checked the spelling and grammar of all manual updates through an external tool.
  • Any code included in the docstring is tested using doc tests to ensure consistency.
  • I have compiled the docs locally and read through all manual updates to check for errors.

Testing

  • I have added unit tests to cover my changes. (For Macros, be sure to check
    @code_lowered and
    @code_typed)
  • All new and existing tests passed.
  • I have achieved sufficient code coverage.

@nathanielpritchard nathanielpritchard self-assigned this Oct 6, 2025
@nathanielpritchard nathanielpritchard added new feature A new technique enhancement New feature or request and removed new feature A new technique labels Oct 6, 2025
Copy link

codecov bot commented Oct 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant