cpx-coords 0.1.5

To power the rust-quantum project, this library provides a robust `Cpx` type, specifically optimized for the intensive complex number multiplications required for quantum gate applications and tensor product operations. It supports various coordinate representations to maximize performance.
Documentation
# cpx-coords

To power the rust-quantum project, this library provides a robust `Cpx` type, specifically optimized for the intensive complex number multiplications required for quantum gate applications and tensor product operations. It supports various coordinate representations to maximize performance.

## Usage

Add the following to your `Cargo.toml` (to the latest version):

```toml
[dependencies]
cpx-coords = "0.1.5"
```

# Features

- Multiple Coordinate Representations: To optimize performance, particularly for multiplication, this library supports logarithmic coordinates. Multiplication in logarithmic form reduces to addition, which is faster than Cartesian multiplication. Additionally, common-case optimizations further improve time complexity.
- Precision: Uses f32 or f64 for floating-point precision.
- It can be a key of BTreeMap, HashMap and so on. Sometimes, we want to represent a superposition state as a map of (separable_state,cpx_value). Here, a separable_state use CpxKey can be treated as a key of the desired map.

# Future direction of development

A complex-number analog of IEEE standard of floating numbers is designing. Consider there is one sign bit, a few exp bits, and a few significant bits for a real floating number. We want to interpret the sign bit as a special case of phase bits, while the remaining exp bits and significant bits describe the radius.
In this interpretation, we may save a few bits for a complex number in polar coordinate.

## License

This project is licensed under either of

- [MIT license]LICENSE-MIT
- [Apache License, Version 2.0]LICENSE-APACHE

at your option.


### Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you shall be licensed as above, without any additional terms or conditions.