Skip to main content

Tool for Hilbert-Schmidt distance calculation with Gilbert algorithm.

Project description

CSSFinder

GitHub release GitHub Release Date - Published_At PyPI release PyPI Downloads Supported Python versions Supported Python implementations license_mit Pull requests Open issues GitHub repo size GitHub code size in bytes GitHub Repo stars Poetry Code Style

CSSFinder - Closest Separable State Finder

CSSFinder is a software designed to find the closest separable state (CSS) for a given quantum state. This helps in quantifying entanglement and classifying quantum states as entangled or separable.

This software has been designed in a modular way. This is manifested by the separation of the main part, which contains the user interface and modularity support elements, from the algorithm implementation. The main part was written in Python and uses the mechanisms of Python modules. Since it is possible to craft shared libraries in such a way that Python imports them as native modules any compiled language can be used to create highly optimized implementations of desired algorithms. Such implementations are called backends and they use minimalistic interface to interact with main part of the program.

In parallel with the development of this main part, two implementations of the algorithm were created:

  • cssfinder_backend_numpy - based on Python NumPy library implementing highly optimized multidimensional arrays and linear algebra.
  • cssfinder_backend_rust - based on Rust ndarray crate which is an equivalent of NumPy from Rust language world.

Development of those two implementations allowed us to better understand limits of what can and what can not become faster.

Documentation

CSSFinder online documentation can be found here.

Installation

To install CSSFinder from PyPI, use pip in terminal:

pip install cssfinder

You will have to also install a backend package, which contains concrete implementation of algorithms. Simples way is to just install numpy or rust extras set:

pip install cssfinder[numpy]
pip install cssfinder[rust]

For more detailed description of installation process visit CSSFinder online documentation.

Quick start guide

For quick start guide please visit Quick Start Guide in CSSFinder online documentation.

Command line interface

To display command line interface map use following command:

cssfinder show-command-tree

Output should look similar to this:

 ...cssfinder show-command-tree
main                           - CSSFinder is a script for finding closest separable states.
├── clone-example              - Clone one of examples to specific location.
├── create-new-json-project    - Create new JSON based project directory `<name>` in current working directory.
├── create-new-python-project  - Create new Python based project directory `<name>` in current working
├── list-backends              - List available backends.
├── list-examples              - Show list of all available example projects.
├── project                    - Group of commands for interaction with projects.
│   ├── add-gilbert-task       - Add new gilbert algorithm task.
│   ├── create-json-summary    - Load and display project.
│   ├── create-task-report     - Create short report for task.
│   ├── inspect                - Load project from PROJECT_PATH and display its contents.
│   ├── inspect-output         - Load project from PROJECT_PATH and display output of task specified by
│   ├── inspect-tasks          - Load project from PROJECT_PATH and inspect configuration of tasks specified by
│   ├── list-tasks             - Load project from PROJECT_PATH and list names of all tasks defined.
│   ├── run-tasks              - Run tasks from the project.
│   └── to-python              - Load project from JSON_PROJECT_PATH and convert it to Python based project.
└── show-command-tree          - Show the command tree of your CLI.

Development

For development guidelines please visit Development in CSSFinder online documentation.

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

cssfinder-0.8.0.tar.gz (86.4 kB view details)

Uploaded Source

Built Distribution

cssfinder-0.8.0-py3-none-any.whl (125.6 kB view details)

Uploaded Python 3

File details

Details for the file cssfinder-0.8.0.tar.gz.

File metadata

  • Download URL: cssfinder-0.8.0.tar.gz
  • Upload date:
  • Size: 86.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for cssfinder-0.8.0.tar.gz
Algorithm Hash digest
SHA256 f1aed92e4bb5779e0808ecdb356342dfab7b11276436a50b5a7c96adf0ef0756
MD5 e958d1f85e118258789fe289522a3bb8
BLAKE2b-256 9998ba361e1a51766231fdaa275e92304c464e5094a31fc2362462484fc78f34

See more details on using hashes here.

File details

Details for the file cssfinder-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: cssfinder-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 125.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for cssfinder-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8d734da173f790c43732a2e9ffd45c577c10deb6c336299d24103e5567da5ba
MD5 29cad566dccf92ffa53dc9cadb4e49e7
BLAKE2b-256 fbefbe5b60dc84b207fdb14da2e3f2baa8138961079c57a3867593308bd60255

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page