Skip to content

[WIP] Added notebook to explain the algorithm/math of overlap-add - #43

Open
NimaSarajpoor wants to merge 5 commits into
mainfrom
add_overlap_math_notebook
Open

NimaSarajpoor wants to merge 5 commits into
mainfrom
add_overlap_math_notebook

Conversation

@NimaSarajpoor

Copy link
Copy Markdown
Collaborator

[WIP] This PR provides a notebook that explains the math behind overlap-add in convolution.

@gitnotebooks

gitnotebooks Bot commented Sep 2, 2026

Copy link
Copy Markdown

Found 1 changed notebook. Review the changes at https://app.gitnotebooks.com/stumpy-dev/sliding_dot_product/pull/43

@NimaSarajpoor

Copy link
Copy Markdown
Collaborator Author

@seanlaw
This PR adds a notebook that provides the math behind linear convolution, circular convolution, and overlap-add method. Before finishing the overlap-add method, I wanted to see if you can review the notebook and share your comments. Once I address those, I can resume the work and complete the "overlap-add" part.

@seanlaw

seanlaw commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Thanks @NimaSarajpoor. I will take a look

@seanlaw seanlaw left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I haven't read through the "Option I" in detail but I do like how you're building up the story! It almost feels like we might want to add an "overarching goals"/"questions to be answered" section to the top of the document and explain why the goals/questions exist or why they are important (i.e., how are they related to the software that we are writing?) Then, when we address them, we refer back to the goals/questions and say "and now you see how this is related/solved".

At the end of the day, the document isn't only about the convolution concept. It is also about, say, "where does the 'range' come from and how/why does it change when we use a different approach?". I tend to notice that when a "smart" person has spent a long time standing knee deep in the space, everything about the topic seems obvious to them and the "connections" are clear. However, us "dumb" people need you to "state the obvious" in writing with excruciating detail (i.e., don't skip steps!) and to declare those "connections" out loud and then we will be forever grateful. ☺️

Comment thread docs/overlap_add_math.ipynb Outdated
Comment thread docs/overlap_add_math.ipynb Outdated
Comment thread docs/overlap_add_math.ipynb Outdated
Comment thread docs/overlap_add_math.ipynb Outdated
@NimaSarajpoor

Copy link
Copy Markdown
Collaborator Author

@seanlaw

to add an "overarching goals"/"questions to be answered" section to the top of the document and explain why the goals/questions exist or why they are important (i.e., how are they related to the software that we are writing?)

Sounds good! I will add something in the beginning to help readers understand the objectives and why they matter.

At the end of the day, the document isn't only about the convolution concept. It is also about, say, "where does the 'range' come from and how/why does it change when we use a different approach?"

"If you can't explain it simply, you don't understand it well enough" So, whenever something isn’t clearly elaborated, I take it as a reminder to make sure that not only is the communication clear, but that I actually understand the concept well enough to explain it clearly 😅

@NimaSarajpoor

Copy link
Copy Markdown
Collaborator Author

@seanlaw
I've made some changes but I need to get back to it after a couple of days to assess the flow with fresh eyes. Will let you know.

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