Skip to content
dsh.fish
Bundle

dsh-diffgeom

Differential-geometry symbolic computation for DeepSeek Harness via SymPy.diffgeom

Source
hatter123
License
MIT
Updated
Updated 19 days ago

Readme

# dsh-diffgeom

Differential-geometry symbolic computation for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness). It registers a `diffgeom` tool that runs coordinate-free differential geometry through [SymPy.diffgeom](https://docs.sympy.org/latest/modules/diffgeom.html) and returns the symbolic result.

## Prerequisites

Python 3 with SymPy installed:

```sh
python -m pip install sympy
```

Verify:

```sh
python -c "import sympy; print(sympy.__version__)"
```

## Install

```sh
dsh plugin --profile web add "D:/VSCode_/Project/dsh/dsh-diffgeom"
```

(or publish to npm and `dsh plugin --profile web add dsh-diffgeom`)

## What it can do

- manifolds, patches, coordinate systems
- scalar fields and tensor fields (abstract, coordinate-free)
- exterior derivative `d` (`Differential`)
- wedge product `∧` (`Wedge`)
- Lie derivative (`LieDerivative`)
- covariant derivative, metric → Christoffel symbols → Riemann/Ricci components

## Preloaded objects

The tool evaluates your Python code with a working Euclidean manifold already set up:

- 2D: `m`, `p`, `r2`, coordinates `x`,`y`, basis 1-forms `ex`,`ey`, basis vectors `e_x`,`e_y`, metric `g`
- 3D: `m3`, `p3`, `r3`, coordinates `x3`,`y3`,`z3`, basis `ex3`,`ey3`,`ez3`, vectors `e_x3`,`e_y3`,`e_z3`, metric `g3`

Plus the usual constructor/operation names: `Manifold`, `Patch`, `CoordSystem`, `TensorProduct`, `Wedge`, `LieDerivative`, `Differential`, `metric_to_Christoffel_2nd`, `metric_to_Ricci_components`, `metric_to_Riemann_components`, `symbols`, `Function`, `simplify`.

## Examples

```python
d(x*y)                     # exterior derivative of the scalar field x*y
Wedge(ex, ey)(e_x, e_y)    # wedge of basis 1-forms evaluated on basis vectors → 1
LieDerivative(e_x, x*y)    # Lie derivative of x*y along e_x → y
```

## How it works

`index.js` runs `python diffgeom_backend.py "<code>"` via Node's `child_process`, capturing stdout. The backend builds the Euclidean manifold, evals the code, and prints the result.

Install

dsh plugin --profile web add github:hatter123/dsh-diffgeom

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source