GSoC 2025 - Interest in "Implement a Solver for the Killing Equations" Project with SageMath

72 views
Skip to first unread message

AhmadFaraz

unread,
Mar 8, 2025, 6:21:32 AMMar 8
to sage-gsoc

Dear SageMath Team,

I hope this email finds you well. My name is Ahmad Faraz, and I am a second-year undergraduate student, studying Computer Science and Engineering at Amity University Jharkhand, India, with a strong interest in differential geometry and open-source software development. I came across the "Implement a Solver for the Killing Equations" project idea listed under SageMath for GSoC 2025, and I am excited about the opportunity to contribute to this mathematically rich and challenging endeavor.

I have experience with Python, symbolic computation (SymPy), and a solid background in PDEs and tensor analysis, which I believe align well with the project’s requirements. I am particularly motivated by the prospect of enhancing SageMath’s capabilities in differential geometry, a field I find both intellectually stimulating and practically impactful. I would love to discuss this project further with you, share my draft proposal, and seek your feedback to refine my approach before the application deadline.


GSoC Application Proposal Personal:

Name: ahmad Faraz
Contact Information:

  • Email: [ahmadfa...@gmail.com]
  • Location/Timezone: Jharkhand, India / UTC-05:30
    University: Second-year undergraduate in Computer Science and Engineering at Amity University, Jharkhand with 9.73 CGPA.

Background: I am a second-year undergraduate with a strong foundation in mathematics and programming. My technical skills include:

  • Programming: Proficient in Python, experience with symbolic computation (SymPy), and familiarity with SageMath.
  • Mathematics: Comfortable with advanced calculus, linear algebra, PDEs, and differential geometry (e.g., tensor analysis, Riemannian manifolds). I’ve completed coursework in general relativity, where I studied Killing vectors.
  • Experience: Developed a Python-based tool for solving PDEs as a personal project; contributed minor bug fixes to open-source project

I’m passionate about mathematical software because it bridges abstract theory and practical computation, making complex ideas accessible. This project excites me due to its blend of geometry, PDEs, and coding—areas where I thrive and want to grow.

  • Open-Source Engagement: Limited but growing—small contributions to open-source projects.
  • Pet Projects: Built a PDE solver for heat equations; currently exploring tensor computations in Python.
  • SageMath Experience: User for 6 months, initially for linear algebra, now exploring its differential geometry module.

Project:

Title: Implementing a Solver for the Killing Equations in SageMath

Length: Long (350 hours)

Project Synopsis:
This project aims to develop a solver within SageMath for the Killing equations, a system of PDEs that determine Killing vector fields on pseudo-Riemannian manifolds. These fields, which preserve the metric under their flow, are crucial in geometry and physics (e.g., symmetries in relativity). The solver will take a user-defined metric and coordinates, compute the necessary geometric objects (e.g., Christoffel symbols), and return the Killing vectors, enhancing SageMath’s differential geometry toolkit.

Personal Involvement:
I’ve been fascinated by Killing vectors since studying general relativity, where they reveal spacetime symmetries. Contributing to SageMath aligns with my goal to deepen my expertise in geometry while advancing open-source tools for the mathematical community.

Details:
The project breaks into modular tasks with deliverables:

  1. Metric Input and Setup (40 hours)
    • Task: Extend SageMath’s manifold module to accept a user-defined metric and coordinates.
    • Deliverable: A function define_manifold(coords, metric) returning a manifold object.
    • Result: Users can input, e.g., flat 2D metric or Minkowski spacetime.
  2. Christoffel Symbol Computation (50 hours)
    • Task: Implement or optimize a routine to compute from the metric.
    • Deliverable: Method christoffel_symbols() integrated into the manifold object.
    • Result: Accurate connection coefficients for any input metric.
  3. Killing Equations Formulation (60 hours)
    • Task: Construct the PDE system .
    • Deliverable: Function killing_equations() generating symbolic equations.
    • Result: Equations ready for solving, e.g., 3 PDEs in 2D, 10 in 4D.
  4. Symbolic Solver Integration (80 hours)
    • Task: Use SageMath’s symbolic engine (or extend it) to solve the PDEs for .
    • Deliverable: Method solve_killing() returning Killing vector components.
    • Result: Solutions like for flat space, validated analytically.
  5. Testing and Validation (70 hours)
    • Task: Test on manifolds (Euclidean, spherical, Minkowski); verify .
    • Deliverable: Test suite with at least 5 manifolds and documentation.
    • Result: Reliable, documented solver.
  6. Optimization and User Interface (50 hours)
    • Task: Optimize performance; add a user-friendly interface (e.g., Jupyter examples).
    • Deliverable: Polished module with tutorial notebook.
    • Result: Accessible tool for SageMath users.

Schedule:

  • March 31 - April 15, 2025 (Community Bonding): Familiarize with SageMath codebase, discuss with mentor.
  • April 16 - May 15 (40h): Task 1 – Metric setup.
  • May 16 - June 15 (60h): Task 2 – Christoffel symbols (exams May 20-25, reduced hours).
  • June 16 - July 15 (80h): Task 3 – Equations; mid-term prep.
  • July 16 - August 15 (100h): Task 4 – Solver; Task 5 – Testing.
  • August 16 - September 1 (70h): Task 6 – Optimization, docs; final submission.

Risk Management:

  • Risk: PDE solver fails for complex metrics.
    • Mitigation: Start with simple cases (flat space); fallback to numerical hints if symbolic fails.
  • Risk: Time overrun on symbolic solving.
    • Alternative: Deliver partial solver (e.g., 2D only) and document extension steps.
  • Risk: Bugs in Christoffel computation.
    • Mitigation: Cross-check with known results; add unit tests early.


I’m based in UTC-05:30, and I’d be grateful for any insights you could provide on the project’s scope or implementation details within SageMath.

Thank you for your time and consideration. I look forward to the possibility of collaborating with the SageMath community!

Best regards,
Ahmad Faraz ahmadfa...@gmail.com https://github.com/Shevilll

tcscrims

unread,
Mar 9, 2025, 5:40:32 AMMar 9
to sage-gsoc
Dear Ahmad,
   Thank you for your interest and sending your draft proposal. It is okay for an initial draft, but you should include significantly more details about how you expect to do your implementation and the associated mathematics. This will involve some fairly intricate mathematics, where the biggest issue is likely the feasibility of the approach. Moreover, you should carefully look at what SageMath currently provides since the first two steps are already readily available.

Best,
Travis

Reply all
Reply to author
Forward
0 new messages