{ "info": { "author": "Simon D\u00e9saulniers", "author_email": "rostydela@gmail.com", "bugtrack_url": null, "classifiers": [ "Topic :: Scientific/Engineering :: Mathematics" ], "description": "~~~~~~~~~~~~~~~~~~~~~~\nPolyominoes enumerator\n~~~~~~~~~~~~~~~~~~~~~~\n\nThe files of this repository allows one to enumerate polyominoes based on\nJensen's algorithm. The code is written in Python, but it has been optimized\nusing Cython.\n\n============\nDependencies\n============\n\n- `Python `__\n- `GCC `__\n\n--------------------------\nPython module dependencies\n--------------------------\n\n- `Cython `__\n- `setuptools `__\n\n=======\nRoadmap\n=======\n\n- Update the docstring in polyenum package (enumerators, data_structures\n modules).\n- Enhance --north-snake option implementation. The criterion for exluding\n invalid north snake candidate can be enhanced using the fact that for any\n row of a north snake the pattern ``x...0...x`` cannot be found. Since the\n algorithm builds polyominoes column after column, it would be a good idea to\n make all of the \"left snakes\" and rotate the results.\n- Creates a test suite.\n- Implements Knuth's algorithm for the minimum connectivity problem (see comment\n in source code). This will improve significantly the speed when enumerating\n polyominoes.\n- Takes into account symmetry to improve speed of algorithm. It will also allow\n to generate free/fixed/one-sided polyominoes. Currently, only fixed\n polyominoes are generated.\n- Add other types of installers (MacPorts, Homebrew, Windows, Debian package,\n ArchLinux). \n- Add a script for extracting statistics and classifying.\n- Add a script for drawing.\n- Improve speed for enumerating partially directed snakes (it uses a Python\n boolean list instead of a bool*). Moreover, the enumeration columnwise could\n discard more configurations than by looking only at the pillars.\n\n=========\nHowto use\n=========\n\nThe script ``polyenum`` is used to call the enumeration code. You can\n``./scripts/polyenum --help`` for help.\n\n-------------------\nFrom git repository\n-------------------\n\nIn order for the script to run properly, the Cython library has to be compiled.\nIt's done by doing::\n\n $ ./configure\n $ make\n\nand then, ``polyenum`` will be available under ``./scripts`` directory.\n\n=======\nExample\n=======\n\n-----------------------------------------\nEnumerating all polyominoes of given area\n-----------------------------------------\n\nLet the area of the polyominoes be **4**. Finding all the polyominoes (not\ninscribed in a particular rectangle) of area 4 is done as follows::\n\n $ ./polyenum -a 4 --fixed\n Fixed polyomino enumeration.\n XXXX\n\n X\n X\n X\n X\n\n XX\n XX\n\n X--\n XXX\n\n XX\n -X\n -X\n\n XXX\n X--\n\n XX\n X-\n X-\n\n -X-\n XXX\n\n -X\n XX\n -X\n\n -XX\n XX-\n\n -X\n XX\n X-\n\n --X\n XXX\n\n -X\n -X\n XX\n\n XX-\n -XX\n\n X-\n XX\n -X\n\n XXX\n -X-\n\n X-\n XX\n X-\n\n XXX\n --X\n\n X-\n X-\n XX\n\n Time elapsed: 0.000782012939453125 seconds\n Number of polyominoes: 19\n\nMore examples can be found reading polyenum's man page (``man ./doc/polyenum.1``).\n\n==========\nInstalling\n==========\n\n----------------------\nFrom PyPi dist release\n----------------------\n\nSimply do::\n\n python2.7 setup.py install\n\n-------------------\nFrom git repository\n-------------------\n\nThe script can be installed on your system. This is useful since it provides\nbash tab completion capability for the script. To install, simply do::\n\n $ ./configure\n $ make\n # make install\n\n**NOTE**: Most of the installation process is done by python. On some platforms,\npython may install scripts under a directory which is not in your $PATH bash\nenvironnement variable.\n\n```````````````\nBash Completion\n```````````````\n\nIn order to install bash completion, do the following ::\n\n $ BASH_COMPLETION_DIR=$p ./configure\n $ make\n # make install\n\nwhere ``$p`` is the path to the directory where bash-completion scripts are\ninstalled on your system.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/ablondin/polyenum", "keywords": "polyominoes enumeration combinatorics mathematics", "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "polyenum", "package_url": "https://pypi.org/project/polyenum/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/polyenum/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/ablondin/polyenum" }, "release_url": "https://pypi.org/project/polyenum/0.1-1/", "requires_dist": null, "requires_python": null, "summary": "Set of enumerators of multiple types of polyominoes (snake, tree, etc.)", "version": "0.1-1" }, "last_serial": 1223217, "releases": { "0.1-1": [ { "comment_text": "built for Linux-3.16.2-1-ARCH-x86_64-with-glibc2.2.5", "digests": { "md5": "d30023aaeb4f20f4bfc4b4973d8a4577", "sha256": "77f4be0e56e883381fd4ebc1f3393131f775920447451acf2435fbb1a9cf254c" }, "downloads": -1, "filename": "polyenum-0.1-1.linux-x86_64.tar.gz", "has_sig": true, "md5_digest": "d30023aaeb4f20f4bfc4b4973d8a4577", "packagetype": "bdist_dumb", "python_version": "2.7", "requires_python": null, "size": 93307, "upload_time": "2014-09-14T03:37:08", "url": "https://files.pythonhosted.org/packages/49/35/ed82c4dcb571d5a3f47a7f1621d9281c43e5f42aa901de83dc0406ca6bca/polyenum-0.1-1.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "d5ae3a974fde3e903c0599242cacf980", "sha256": "e1d275b43608ebd7e147f0d77f71f0c3d8b3bbbc46840a6ad3323a4826748c7b" }, "downloads": -1, "filename": "polyenum-0.1_1-py2.7-linux-x86_64.egg", "has_sig": true, "md5_digest": "d5ae3a974fde3e903c0599242cacf980", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 97406, "upload_time": "2014-09-14T03:38:23", "url": "https://files.pythonhosted.org/packages/fe/bd/361052ad53495c3212e0e4c899603191467f4a63b4eebf501614e3976e6e/polyenum-0.1_1-py2.7-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "db3b4d4f3bea4f55fb78a2a7cec8da11", "sha256": "948c5af65c5bce7ea200260f5a844e786f7e2b61035b6cabbc0180d3ee9ce3bd" }, "downloads": -1, "filename": "polyenum-0.1-1.tar.gz", "has_sig": true, "md5_digest": "db3b4d4f3bea4f55fb78a2a7cec8da11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142129, "upload_time": "2014-09-14T03:37:04", "url": "https://files.pythonhosted.org/packages/d5/e5/293ff05a85b2e9dd38275393ae564b45a07caa0ad56f147963d3720a4fba/polyenum-0.1-1.tar.gz" } ] }, "urls": [ { "comment_text": "built for Linux-3.16.2-1-ARCH-x86_64-with-glibc2.2.5", "digests": { "md5": "d30023aaeb4f20f4bfc4b4973d8a4577", "sha256": "77f4be0e56e883381fd4ebc1f3393131f775920447451acf2435fbb1a9cf254c" }, "downloads": -1, "filename": "polyenum-0.1-1.linux-x86_64.tar.gz", "has_sig": true, "md5_digest": "d30023aaeb4f20f4bfc4b4973d8a4577", "packagetype": "bdist_dumb", "python_version": "2.7", "requires_python": null, "size": 93307, "upload_time": "2014-09-14T03:37:08", "url": "https://files.pythonhosted.org/packages/49/35/ed82c4dcb571d5a3f47a7f1621d9281c43e5f42aa901de83dc0406ca6bca/polyenum-0.1-1.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "d5ae3a974fde3e903c0599242cacf980", "sha256": "e1d275b43608ebd7e147f0d77f71f0c3d8b3bbbc46840a6ad3323a4826748c7b" }, "downloads": -1, "filename": "polyenum-0.1_1-py2.7-linux-x86_64.egg", "has_sig": true, "md5_digest": "d5ae3a974fde3e903c0599242cacf980", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 97406, "upload_time": "2014-09-14T03:38:23", "url": "https://files.pythonhosted.org/packages/fe/bd/361052ad53495c3212e0e4c899603191467f4a63b4eebf501614e3976e6e/polyenum-0.1_1-py2.7-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "db3b4d4f3bea4f55fb78a2a7cec8da11", "sha256": "948c5af65c5bce7ea200260f5a844e786f7e2b61035b6cabbc0180d3ee9ce3bd" }, "downloads": -1, "filename": "polyenum-0.1-1.tar.gz", "has_sig": true, "md5_digest": "db3b4d4f3bea4f55fb78a2a7cec8da11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142129, "upload_time": "2014-09-14T03:37:04", "url": "https://files.pythonhosted.org/packages/d5/e5/293ff05a85b2e9dd38275393ae564b45a07caa0ad56f147963d3720a4fba/polyenum-0.1-1.tar.gz" } ] }