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 naturally accompanying complex variables, in short, Differential Geometry with Complex Variables.

At its core are symbolic representations of standard DG objects such as vector fields and differential forms. There are coordinate free representations, and representations defined relative to coordinate systems falling into two general categories:

  • standard - basic systems that can represent real or complex coordinates, sufficient for applications that do not require dgcv's complex variable handling features.
  • complex - richer systems for representing complex coordinate patches that interact with dgcv's complex variable handling features. These are comprised of holomorphic coordinate functions, their conjugates, and their real and imaginary parts (e.g., $\{z_j,\overline{z_j},x_j,y_j\}$).

dgcv functions account for coordinate types dynamically when operating on objects built from such coordinate systems. The package has a growing library for coordinate-free representations as well, and tools for converting between the two paradigms.

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. This system enables 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 is tested on Python 3.13, and has dependencies on the SymPy and iPython libraries.

Features

  • Symbolic representations of various tensor fields (vector fields, differential forms, etc.) and dedicated python classes for representing many other common differential geometric structures
  • 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

Installation

dgcv can be installed directly from PyPI with pip, e.g.:

pip install dgcv

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

Documentation

dgcv documentation is hosted at https://www.realandimaginary.com/dgcv/, with documentation pages for individual functions in the library and more. 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

dgcv is always growing and updated regularly. I frequently make new functions for personal projects, and add the ones with general utility for others to the public versions of dgcv. Contributions, requests for additions to the library, and feedback from anyone interested are very much welcome. –D.S.

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.3.10.tar.gz (501.7 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.3.10-py3-none-any.whl (511.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dgcv-0.3.10.tar.gz
  • Upload date:
  • Size: 501.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for dgcv-0.3.10.tar.gz
Algorithm Hash digest
SHA256 63ef235b47c08a70436f94fc3e7baea64c2d43c1bc6e9633f0d93892a80a4b56
MD5 64ff216509ed0f68003ac997d738e624
BLAKE2b-256 7dd7f89c530cf5c8165f1a2770df2d75bc02eba2585d05bb97b173a7997f7835

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dgcv-0.3.10-py3-none-any.whl
  • Upload date:
  • Size: 511.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for dgcv-0.3.10-py3-none-any.whl
Algorithm Hash digest
SHA256 82accada6646fa91ecbdfed35c6f6cb57c6bc29e3a048ca718f4f1f0d0628a2b
MD5 55f33ab5b344f3d235a0785f9a9a8ff9
BLAKE2b-256 63ec96ce964de7b7d8e6932eeeda2b53f77fbdd56a9ad37f69d7fc1b86ea5895

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