Skip to main content

mapFolding

pip install mapFolding

Map folding, meanders, stamp folding, semi-meanders. Experiment with algorithm transformations and code optimization.

I don't know how to write a README.md. Furthermore, the package used to be focused on multidimensional map folding and tools for transforming the algorithm to experiment with optimizations or to explore the algorithm.

First, the tools for transforming algorithms became far more sophisticated and powerful than this package. So I moved them to astToolkit. But those got so sophisticated, that I create more than half of that package through another layer of meta-programming: astToolFactory.

Second, when I finally understood the connections between map folding and meanders, I added meanders to this package, and applied my transformation tools to that algorithm.

I used a weaker form of this package to compute new terms for OEIS A001415, "Number of ways of folding a 2 X n strip of stamps."

Finding stuff

  1. At the moment, almost every algorithm version eventually runs through "mapFolding/basecamp.py", so it's sort of an overview and you can work backwards to find more details.
  2. The directory "mapFolding/algorithms" only has "handmade" algorithms. Therefore, most logic for most computations is based on something in that directory.
  3. The directory "mapFolding/syntheticModules" has code that is generated by the transformation tools.
  4. Transformation functions are in "mapFolding/someAssemblyRequired."
  5. The directory "mapFolding/reference" has "reference" materials.
  6. "mapFolding/tests" has the tests, and I have tried to make it easy for you to add your versions of the algorithms to the tests. Is it actually easy? I'll say it this way: if you were to create your own subclass of ast.AST it would be impossible for you to add your subclass to all of the ast module tests with just a few lines of code. In contrast, it is possible to fully test your algorithm with my tests by adding between 3 and 25 lines of code. So, yeah, it's easy.

Math and programming

I'm not a mathematician. I don't have training in or professional experience as a programmer. I'm not stupid: I'm ignorant.

Reference materials

A map-folding problem

Folding a strip of stamps

Multi-dimensional map-folding

A transfer matrix approach to the enumeration of plane meanders

A new transfer-matrix algorithm for exact enumerations: self-avoiding polygons on the square lattice

Stamp Foldings, Semi-Meanders, and Open Meanders: Fast Generation Algorithms

Foldings and meanders

Valid Orderings of Layers When Simple-Folding a Map

My recovery

Static Badge YouTube Channel Subscribers

CC-BY-NC-4.0

Download files

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

Source Distribution

mapfolding-0.27.0.tar.gz (297.3 kB view details)

Uploaded Source

Built Distribution

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

mapfolding-0.27.0-py3-none-any.whl (378.6 kB view details)

Uploaded Python 3

File details

Details for the file mapfolding-0.27.0.tar.gz.

File metadata

  • Download URL: mapfolding-0.27.0.tar.gz
  • Upload date:
  • Size: 297.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for mapfolding-0.27.0.tar.gz
Algorithm Hash digest
SHA256 33eec77a2fc6ac66c62a09f830abe26822866dfeb6f854c225aeb4787512a0d2
MD5 720c1bb1cd3333adee47071c30375919
BLAKE2b-256 8b785e07bb6e5892b6a392f88b2f4d19f0baa138b1c4e65c2e7c04bcfba8d4bd

See more details on using hashes here.

File details

Details for the file mapfolding-0.27.0-py3-none-any.whl.

File metadata

  • Download URL: mapfolding-0.27.0-py3-none-any.whl
  • Upload date:
  • Size: 378.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for mapfolding-0.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1985874efb1b1c5431069f4c5b26b5a37df4fc174a0bb382927661084bc4d88
MD5 23bf80cf79ad340ad1722c026a5e38d1
BLAKE2b-256 2cf91669be0215f3f5b352590d4248896bf279a21797bf5779c5cd102b01f0a1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.33.0

2 files

0.32.0

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.28.0

2 files

This release

0.27.0 This release

2 files

0.26.0

2 files

0.25.0

2 files

0.24.1

2 files

0.24.0

2 files

0.23.1

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.4

1 file

0.18.3

2 files

0.18.2

2 files

0.18.1

2 files

0.18.0

2 files

0.17.1

2 files

0.17.0

2 files

0.16.4

2 files

0.16.2

2 files

0.16.1

2 files

0.16.0

2 files

0.15.4

2 files

0.15.3

2 files

0.15.2

2 files

0.15.1

2 files

0.15.0

2 files

0.14.1

2 files

0.14.0

2 files

0.13.1

2 files

0.13.0

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.4

2 files

0.11.3

2 files

0.11.2

2 files

0.11.1

2 files

0.11.0

2 files

0.10.0

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.6

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.12

2 files

0.3.11

2 files

0.3.10

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page