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.
  • C^inf-Symmetries: Specialized check for Generalized symmetries including $\lambda$-symmetries.
  • Prolongations: Automatically prolong vector fields to higher-order jet spaces (standard and $\lambda$-prolongation).

Documentation

For a detailed guide on how to use the library, including how to create vector fields and check for symmetries, please refer to the Manual.

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.2.1.tar.gz (23.8 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.2.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cinfsymmetries-0.2.1.tar.gz
Algorithm Hash digest
SHA256 81da399f2394e6cc4ae572010b7d460c2398d8152369b55fef8adfac3db08599
MD5 94859140fb06539dbd72c728b23e4438
BLAKE2b-256 e4d9b21d8d6e6793861d11943bed9a1d7fad499a3042cc4d2be12e9a3a91226d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cinfsymmetries-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 928f6f3de4ab1a9a97b0e2068fd03bc3a68659c48f5c36f4db09e259797ed855
MD5 2d9a9f655408e74e433a04c5d5ee1c41
BLAKE2b-256 ce6503c64a0cf55b8ec449747e767da297c813b5826c9e3520476ae49a9f6e3a

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