Skip to main content

Differential Geometry with Complex Variables

Project description

DGCV: Differential Geometry with Complex Variables

DGCV is an open-source Python package providing basic tools for differential geometry integrated with systematic organization of structures accompanying complex variables, in short, Differential Geometry with Complex Variables.

At its core are fully featured symbolic representations of standard DG objects such as vector fields and differential forms, defined relative to standard or complex coordinate systems. As systems of differential geometric objects constructed from complex variables inherit natural relationships from the underlying complex structure, DGCV objects track these relationships across the constructions. Advantages of the uniform integration arise from smooth switching between real and holomorphic coordinate representations of mathematical objects. In computations, DGCV objects dynamically manage this format switching on their own so that typical complex variables formulas can be written plainly and will simply work. Some examples of this: In coordinates $z_j = x_j + iy_j$, expressions such as $\frac{\partial}{\partial x_j}|z_j|^2$ or $d z_j \wedge d \overline{z_j} \left( \frac{\partial}{\partial z_j}, \frac{\partial}{\partial y_j} \right)$ are correctly parsed without needing to convert everything to a uniform variable format. Retrieving objects' complex structure-related attributes, like the holomorphic part of a vector field or pluriharmonic terms from a polynomial is straightforward. Complexified cotangent bundles and their exterior algebras are easily decomposed into components from the Dolbeault complex and Dolbeault operators themselves can be applied to functions and k-forms in either coordinate format.

DGCV was developed using Python 3.12, with dependencies on the SymPy and Pandas libraries in addition to base Python.

Features

  • Fully featured symbolic representations of vector fields, differential forms, and tensor fields
  • Intuitive interactions with complex structures from holomorphic coordinate systems: DGCV objects dynamically manage coordinate transformations between real and holomorphic coordinates during computation as necessary, so objects can be represented in and freely converted between either coordinate format at any time.
  • Dedicated python classes for representing common differential geometric structures
  • Natural LaTeX rendering for intuitive representation of mathematical objects, designed with Jupyter notebooks in mind.

Installation

You can install DGCV directly from PyPI with pip, e.g.:

pip install DGCV

Note, depending on Python install configurations, the above command can very. The key is to have the relevent Python environment active so that the package manager pip sources from the right location (suggested to use virtual environments: Getting started with virtual environments).

Tutorials

Two Jupyter Notebook tutorials are available to help getting started with DGCV:

  1. DGCV Introduction: An introduction to the key concepts and setup

  2. DGCV in Action: A quick tour through examples from some of the library's more elaborate functions

Running the Tutorials Locally

You can download the tutorials individually from the DGCV repository DGCV github repo.

Documentation

DGCV documentation is hosted at https://www.realandimaginary.com/dgcv/, with documentation pages for each function in the library and more. Full documentation is gradually being filled in. In the mean time, docstrings within the code provide more information on available classes/methods and functions.

License

DGCV is licensed under the MIT License. See the LICENSE.txt file for more information.

Author

DGCV was created and is maintained by David Sykes.


Future Development

The current (0.2.x) version of DGCV is foundation on which a lot more can be built. Many additions for future updates are planned, including:

  • Extending complex variable handling and dynamic coordinate-type conversion automations. The simple goal is to fully automate handling of complex variable formats, allowing input to be formatted freely with any coordinate type, with features to fully control coordinate type formatting or let the sytems automate the process. Much more will be added to this end.
  • Expanding libraries dedicated to more specialized areas of differential geometry

Contributions and feedback from anyone interested are warmly welcomed. Stay tuned for more updates!

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

dgcv-0.2.13.tar.gz (397.6 kB view details)

Uploaded Source

Built Distribution

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

dgcv-0.2.13-py3-none-any.whl (401.9 kB view details)

Uploaded Python 3

File details

Details for the file dgcv-0.2.13.tar.gz.

File metadata

  • Download URL: dgcv-0.2.13.tar.gz
  • Upload date:
  • Size: 397.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for dgcv-0.2.13.tar.gz
Algorithm Hash digest
SHA256 999add5d5abca4fa37bf0f6f14bedf08b4d9377b393dc6ea0b903189d363da30
MD5 127e9eb62dd1eab26bfee388488ab3dd
BLAKE2b-256 f392a262d67a259c1d37d05508ae29cf975989657252ceb9c4cba07ebdfb71dd

See more details on using hashes here.

File details

Details for the file dgcv-0.2.13-py3-none-any.whl.

File metadata

  • Download URL: dgcv-0.2.13-py3-none-any.whl
  • Upload date:
  • Size: 401.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for dgcv-0.2.13-py3-none-any.whl
Algorithm Hash digest
SHA256 1f9db6c735f9891f63dc4b3e61758d2b78358743715f520468bf2be8bceff7f5
MD5 ba2e5e4b3f450bd90bde3d75da885925
BLAKE2b-256 aeea9d80126814901f7410d696c0a98e767064f4ae84b5952e18fd72fe170163

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