Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

# Contributing to Math Notes

Live site → math.suryaraj.com · GitHub → suryakantamangaraj/Math

Thank you for your interest in contributing! This is an open, community-driven mathematics reference built with MyST Markdown and Jupyter Book. Every contribution — however small — makes this a better resource for everyone.


Where Contributions Are Most Needed

The sections below are actively seeking contributors. They have an outline but need more depth, worked examples, and/or interactive Python notebooks:

SectionWhat’s missing
Linear AlgebraWorked numerical examples, Python code for eigenvalue computation, matrix decompositions (LU, QR, SVD)
GeometryIllustrated examples, analytic geometry problems, 3-D coordinate visualisations
Number TheoryPython implementations of sieve, GCD, modular exponentiation, RSA toy example
Arithmetic & AlgebraMore NumPy examples, symbolic algebra with SymPy
Any sectionAdditional practice problems, proofs, real-world applications

If you notice any errors, broken formulas, or missing references anywhere in the site, please fix or flag them — that counts too!


Ways to Contribute

1. Fix a typo or formula error

  1. Click the edit button (✏️) at the top of any page on math.suryaraj.com to edit the source directly on GitHub.

  2. Commit, and open a pull request.

2. Add or expand content in an existing Markdown file

Topics live in notes/content/. Each top-level subject maps to a file:

notes/content/
├── Arithmetic.ipynb        # Arithmetic & Algebra
├── first-order.md          # 1st-order ODEs
├── Geometry.md             # Geometry  ← needs help
├── LinearAlgebra.md        # Linear Algebra  ← needs help
├── NumberTheory.md         # Number Theory  ← needs help
└── second-order/           # 2nd-order ODEs
    ├── analytical.ipynb
    ├── fourier-series.ipynb
    └── ...

Edit the relevant file and submit a pull request.

3. Add a new Jupyter notebook

Adding Python examples as notebooks (.ipynb) makes content interactive and executable on Binder/Colab.

  1. Place your notebook under the appropriate notes/content/ subdirectory.

  2. Add it to notes/_toc.yml so the build picks it up.

  3. Make sure it runs top-to-bottom with jupyter nbconvert --to notebook --execute.

4. Suggest a new topic

Open an issue with the label topic request and describe what you’d like to see covered.


Development Setup

# Clone and enter the repo
git clone https://github.com/suryakantamangaraj/Math.git
cd Math

# Create a virtual environment and install dependencies
python -m venv .venv
source .venv/bin/activate       # Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Build the book locally
cd notes
myst build --html               # MyST v2 (recommended)
# OR: jupyter-book build .      # legacy JupyterBook v1

# Open the result
start _build/html/index.html    # Windows
open  _build/html/index.html    # macOS / Linux

Pull Request Guidelines

  1. Fork the repository and create a feature branch: git checkout -b feat/your-topic.

  2. Keep changes focused — one topic or fix per PR is ideal.

  3. Ensure notebooks execute without errors before submitting.

  4. Write a short description in the PR explaining what you changed and why.

  5. Reference any related issues with Closes #<issue-number>.

A maintainer will review and merge your PR, usually within a few days.


Community Standards

Please follow the Code of Conduct in all interactions.


Recognition

All contributors are welcome! Significant contributions will be acknowledged in the site footer and project README.


Questions? Open an issue or reach out to Surya Raj.