Skip to main content

Geometric study of differential equations (Lie symmetries, lambda-symmetries, Cinf-structures, solvable structures)

Project description

cinfsymmetries

A Python library for the geometric study of differential equations, bridging the gap from sympy to advanced concepts such as Lie symmetries, $\lambda$-symmetries, $C^{\infty}$-structures, and solvable structures.

Originally inspired by functionality from Maple packages for Differential Geometry.

Features

  • VectorFields and Distributions: Define symbolic vector fields over an arbitrary set of variables.
  • Lie Brackets: Compute Lie Brackets of vector fields analytically.
  • Involutivity: Check if a distribution is involutive.
  • Symmetries: Check if a given vector field is a symmetry of a distribution (meaning the Lie bracket with any vector in the distribution remains within the distribution span).

Installation

pip install -e .

Quick Start

import sympy as sp
from cinfsymmetries import VectorField, LieBracket, Distribution

x, y = sp.symbols('x y')

# Define Vector Fields X = d/dx, Y = x*d/dy
X = VectorField({x: 1})
Y = VectorField({y: x})

# Lie Bracket [X, Y] = d/dy
bracket = LieBracket(X, Y)
print(bracket) # Outputs: (1)*d_y

# Create an ODE-like rank 1 distribution (spanned by X + Y)
D = Distribution([X + Y])

# Check if X is a symmetry of D
# [X, X+Y] = [X, Y] = d/dy, which is NOT in the span of (d/dx + x*d/dy), so False.
print(D.check_symmetry(X))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cinfsymmetries-0.1.0.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cinfsymmetries-0.1.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file cinfsymmetries-0.1.0.tar.gz.

File metadata

  • Download URL: cinfsymmetries-0.1.0.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cinfsymmetries-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5264447238c07eca3655a442c75d8508712e2ec3ec3e8fd06b8936034c3b0c78
MD5 00ceb779f4e4e10d178672076ae2b4a2
BLAKE2b-256 096b4162d188e16ae7b994cc53ec56949fda9f1313ad7baa265dfa199f1d054c

See more details on using hashes here.

File details

Details for the file cinfsymmetries-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cinfsymmetries-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cinfsymmetries-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c04dab8fee57a474a85b2f811990d023a192df80177ca9ded111c3b7e632bd00
MD5 3d7d2cb842174bf5e7e61a045a6c3b45
BLAKE2b-256 ebd2a2bfa0b3e4d84bbc5fba0c4ac6a7332408cf864fe064ff4aa3ed74c2944a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page