Skip to main content

A Code for Memory-Saving Dyadic Adaptivity in Optimization and Simulation

Project description

DyAda: A Code for Dyadic Adaptivity in Optimization, Simulation, and Machine Learning

PyPI version Supported Python version Python package CI Coverage Codacy Badge License: GPL v3

Installation

It's as simple as

pip install dyada[drawing,matplotlib,opengl]

Or, if you would like to change the source code, do

git clone https://github.com/freifrauvonbleifrei/DyAda.git
# ... git checkout the required version ...
pip install -e DyAda[drawing,matplotlib,opengl]

Dyadic Adaptivity

Dyadic adaptivity means: A given hypercube of 2 or more dimensions may or may not be subdivided into two parts in any number of dimensions. Of the resulting sub-boxes, each may again be subdivided into two in any dimension, and so forth.

Why Dyadic Adaptivity?

Currently, the most common approach to adaptivity are octrees, which are a special type of dyadic adaptivity: Each box is either refined in every dimension or not at all. For a three-d domain, the tree and the resulting partitioning could look like this:

The octree tree

The octree partitioning

But maybe you didn't need all this resolution?

Maybe, in the finely-resolved areas, you only needed only some of the dimensions resolved finely:

The dyadic partitioning

This is what DyAda provides.

The tree will then look like this:

The omnitree tree

And you will only have to use 14 degrees of freedom instead of 29! This reduction will be even stronger if you go to higher dimensions.

Contributing

Feel free to request features or voice your intent to work on/with DyAda as an issue. Depending on what you are looking for, exciting features may be in preparation, or they may just be waiting for you to implement them!

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

dyada-0.0.6.tar.gz (95.9 kB view details)

Uploaded Source

Built Distribution

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

dyada-0.0.6-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file dyada-0.0.6.tar.gz.

File metadata

  • Download URL: dyada-0.0.6.tar.gz
  • Upload date:
  • Size: 95.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dyada-0.0.6.tar.gz
Algorithm Hash digest
SHA256 8c3215f9fa586db40500c2fd51e483a745f66a929de9a0d6327d4a98dd03a901
MD5 cf87021ab0641bbb7eb38cc236726b44
BLAKE2b-256 6b0751060949b3cf6266af4614acbfd4e5366beabbcb58d28785b2f67008bc5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dyada-0.0.6.tar.gz:

Publisher: publish-to-pypi.yml on freifrauvonbleifrei/DyAda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dyada-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: dyada-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 42.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dyada-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c8a331e61e9ed88776f2e3028049a837b79c22ac9944d32571ebbb03435cade4
MD5 b57cf8241da55d776e4e777a712b006e
BLAKE2b-256 7ef2cd3d3be75a580028fd30afce880087d5a252fb8b2aeae59af54fb3aa6817

See more details on using hashes here.

Provenance

The following attestation bundles were made for dyada-0.0.6-py3-none-any.whl:

Publisher: publish-to-pypi.yml on freifrauvonbleifrei/DyAda

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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