Skip to content

feat(bvp): add finite-difference boundary-value solver - #18

Merged
hexjasur merged 5 commits into
mainfrom
feat/bvp-finite-difference-thomas
Nov 10, 2026
Merged

hexjasur merged 5 commits into
mainfrom
feat/bvp-finite-difference-thomas

Conversation

@hexjasur

Copy link
Copy Markdown
Owner

Description

Adds a finite-difference boundary-value solver using the Thomas algorithm, natural-language equation and boundary-condition parsing, and a worked derivation/notebook view with copy support. Updates the BVP navigation ordering and Uzbek, Russian, and English translations.

Type of Change

  • 🐛 Bug fix (non-breaking change fixing an issue or math error)
  • ✨ New feature (non-breaking change adding functionality)
  • 🧮 New numerical method (added a computational mathematics algorithm)
  • ♻️ Refactoring / Code quality
  • 📝 Documentation update
  • ⚡️ Performance optimization
  • 📱 Mobile (Android) / Desktop (Tauri) adaptation

Mathematical & Technical Verification

  • Method/Formula: Finite differences for the second-order BVP, followed by the Thomas tridiagonal solver; the UI presents the assembled equations and forward/backward sweep.
  • Convergence / Error Analysis: The interior centered-difference stencil is second-order; boundary derivatives use one-sided differences. No mesh-refinement study was run.
  • Test case inputs & outputs: y'' - 2(1 + x^2)y = 0, y(0) = 0, y(0.8) = 3.5, h = 0.1 parses to 8 intervals and 9 nodes; the solver returns the imposed endpoint value 3.5.

Checklist

  • I have read the CONTRIBUTING.md guide.
  • My code adheres to the project's styling and TypeScript strictness standards (no any).
  • I verified that bun run lint exits with code 0.
  • I verified that bun run build succeeds without errors.
  • If adding a new method, I included full i18n translations (uz, ru, en).
  • I preserved all original copyright, branding, and author notices.
  • (Optional) I added my name to the contributors list.

Validation results: & $env:APPDATA\npm\bun.cmd run lint — PASS; BVP parser/solver runtime check — PASS (8 intervals, 9 nodes, endpoint 3.5); JSON parsing for all three locale files — PASS. & $env:APPDATA\npm\bun.cmd run build — NOT RUN (the build tool invocation was denied).

hexjasur and others added 5 commits November 4, 2026 10:26
Add an interactive second-order boundary value problem solver with finite-difference discretization, Thomas forward/backward traces, residual checks, plot, and localized UI.
Add a one-click equation example, tighten responsive form sizing, and use clearer Uzbek terminology for the boundary value and sweep methods.
Allow entering the equation, step size, interval endpoints, and boundary conditions as a single multiline problem statement, then parse them into the solver inputs.
Make individual compact parameter fields the primary form, add a dedicated h input that derives the interval count, and move full-statement parsing into an optional disclosure.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vercel

vercel Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
numeric-methods Error Error Nov 10, 2026 4:13pm UTC

@hexjasur
hexjasur merged commit 1ae3259 into main Nov 10, 2026
1 of 2 checks passed

This branch had an error being deployed

1 failed deployment
Preview — 02b9ef21 Deployed Nov 10, 2026 by vercel[bot]
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.

1 participant