Should we add Vector Sanitizers to Gram-Schmidt process
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 346
- Forks
- 122
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 32
Description
Hi there,
The problem:
I often do run into the situation that I want to orthogonalize a bunch of vectors which are in a subspace of the full FEM space. For example, vectors having mean value zero. As a second example, in the method "ArbiLoMod", we have vectors wherein one part (the "extension") is calculated by applying a linear operator to another part.
Often, this property deteriorates during the Gram-Schmidt process: When one starts with nearly linear dependent vectors, numerical noise is amplified during the Gram-Schmidt process. This numerical noise is not in the subspace and the resulting vector is not in the subspace.
The solution:
I would suggest to add an optional option "sanitizer" to the Gram-Schmidt process, which is a callable which brings the vectors back into the subspace. The Gram-Schmidt algorithm should apply this sanitizer after steps which amplify numerical noise.
What are your opinions?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names the Gram-Schmidt process and the ArbiLoMod vector relationship, but no file, test, or entry point. Locate the Gram-Schmidt implementation, determine where numerical noise is amplified, and clarify how an optional sanitizer should be applied; done means the behavior and expected subspace-preserving results are specified and tested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100