Skip to content

Add a basic convolution function#2530

Draft
sjavis wants to merge 1 commit into
mainfrom
iccs/convolve_kernel
Draft

Add a basic convolution function#2530
sjavis wants to merge 1 commit into
mainfrom
iccs/convolve_kernel

Conversation

@sjavis

@sjavis sjavis commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

This aims to create a generic convolution kernel to unify the vertical stencil operations into one. Closes #2539.

  • Make BandMatrixRow callable for linear operators.
    • Add basic functions so it works for scalars
    • Use unrolled utilities
  • Implement a basic column_convolve! that applies to scalars only

For later PRs:

  • Modify the multiplication to use local_geometry either in the broadcasted expression or using a new LinearForm object.
  • Allow composition of stencil operations with column_convolve!
  • Link column_convolve! into the rest of the code
  • Clean up outdated code / operator kernels

Code quality checklist:

  • Code follows the style guidelines OR N/A.
  • Unit tests are included OR N/A.
  • Code is exercised in an integration test OR N/A.
  • Documentation has been added/updated OR N/A.

@sjavis sjavis changed the title Iccs/convolve kernel Convolution kernel for vertical operations Jun 26, 2026
@sjavis sjavis force-pushed the iccs/convolve_kernel branch from 2fc0b42 to 6b32f8e Compare July 6, 2026 14:50
@sjavis sjavis changed the title Convolution kernel for vertical operations Make BandMatrixRow callable for convolution Jul 6, 2026
@sjavis sjavis changed the title Make BandMatrixRow callable for convolution Add a basic convolution function Jul 7, 2026
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.

Implement a basic convolution operator

2 participants