Skip to content

Commit

Permalink
RLSE: Ver 0.38.0
Browse files Browse the repository at this point in the history
- complex support (#35)
- parallel support (#72)
- More generic matrix
- Update puruspe
- Add some polynomials
  • Loading branch information
Axect committed Oct 31, 2024
1 parent 0d8fb88 commit 398eb2b
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 52 deletions.
9 changes: 2 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "peroxide"
version = "0.37.9"
version = "0.38.0"
authors = ["axect <axect@outlook.kr>"]
edition = "2018"
description = "Rust comprehensive scientific computation library contains linear algebra, numerical analysis, statistics and machine learning tools with farmiliar syntax"
Expand All @@ -24,7 +24,7 @@ travis-ci = { repository = "axect/peroxide" }
maintenance = { status = "actively-developed" }

[dev-dependencies]
float-cmp = "0.9"
float-cmp = "0.10"
criterion = { version = "0.5.1", features = ["html_reports"] }

[dependencies]
Expand Down Expand Up @@ -60,8 +60,3 @@ nc = ["netcdf"]
parquet = ["arrow2"]
complex = ["num-complex", "matrixmultiply/cgemm"]
parallel = ["rayon"]

[[bench]]
path = "benches/parallel_rayon/matrix_benchmark.rs"
name = "matrix_benchmark"
harness = false
79 changes: 35 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ Peroxide provides various features.
- `default` - Pure Rust (No dependencies of architecture - Perfect cross compilation)
- `O3` - BLAS & LAPACK (Perfect performance but little bit hard to set-up - Strongly recommend to look [Peroxide with BLAS](https://github.com/Axect/Peroxide_BLAS))
- `plot` - With matplotlib of python, we can draw any plots.
- `complex` - With complex numbers (vector, matrix and integral)
- `parallel` - With some parallel functions
- `nc` - To handle netcdf file format with DataFrame
- `csv` - To handle csv file format with Matrix or DataFrame
- `parquet` - To handle parquet file format with DataFrame
Expand Down Expand Up @@ -311,7 +313,7 @@ How's that? Let me know if there's anything else you'd like me to improve!

## Latest README version

Corresponding to `0.37.7`
Corresponding to `0.38.0`

## Pre-requisite

Expand All @@ -321,55 +323,38 @@ Corresponding to `0.37.7`

## Install

- Run below commands in your project directory

1. Default

```bash
cargo add peroxide
```

2. OpenBLAS

```bash
cargo add peroxide --features O3
```

3. Plot

```bash
cargo add peroxide --features plot
```

4. NetCDF dependency for DataFrame

```bash
cargo add peroxide --features nc
```

5. CSV dependency for DataFrame

```bash
cargo add peroxide --features csv
```
### Basic Installation
```bash
cargo add peroxide
```

6. Parquet dependency for DataFrame
### Featured Installation
```bash
cargo add peroxide --features "<FEATURES>"
```

```bash
cargo add peroxide --features parquet
```
### Available Features

7. Serialize or Deserialize with Matrix or polynomial
* `O3`: Adds OpenBLAS support
* `plot`: Enables plotting functionality
* `complex`: Supports complex number operations
* `parallel`: Enables parallel processing capabilities
* `nc`: Adds NetCDF support for DataFrame
* `csv`: Adds CSV support for DataFrame
* `parquet`: Adds Parquet support for DataFrame
* `serde`: Enables serialization/deserialization for Matrix and polynomial

```bash
cargo add peroxide --features serde
```
### Install Examples

8. All features
Single feature installation:
```bash
cargo add peroxide --features "plot"
```

```bash
cargo add peroxide --features "O3 plot nc csv parquet serde"
```
Multiple features installation:
```bash
cargo add peroxide --features "O3 plot nc csv parquet serde"
```

## Useful tips for features

Expand All @@ -388,6 +373,11 @@ Corresponding to `0.37.7`

- __src__
- [lib.rs](src/lib.rs) : `mod` and `re-export`
- __complex__: For complex vector, matrix & integrals.
- [mod.rs](src/complex/mod.rs)
- [integrate.rs](src/complex/integrate.rs) : Complex integral
- [matrix.rs](src/complex/matrix.rs) : Complex matrix
- [vector.rs](src/complex/vector.rs) : Complex vector
- __fuga__ : Fuga for controlling numerical algorithms.
- [mod.rs](src/fuga/mod.rs)
- __macros__ : Macro files
Expand Down Expand Up @@ -434,6 +424,7 @@ Corresponding to `0.37.7`
- [fp.rs](src/traits/fp.rs) : Functional programming toolbox
- [general.rs](src/traits/general.rs) : General algorithms
- [math.rs](src/traits/math.rs) : Mathematics
- [matrix.rs](src/traits/matrix.rs) : Matrix traits
- [mutable.rs](src/traits/mutable.rs) : Mutable toolbox
- [num.rs](src/traits/num.rs) : Number, Real and more operations
- [pointer.rs](src/traits/pointer.rs) : Matrix pointer and Vector pointer for convenience
Expand Down
20 changes: 19 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,25 @@
# Release 0.37.10 (in progress)
# Release 0.38.0

## New features - Complex & Parallel

- `complex` feature
- Implement complex vector, matrix and integral [#35](https://github.com/Axect/Peroxide/issues/35) (Thanks to [@GComitini](https://github.com/GComitini) and [@soumyasen1809](https://github.com/soumyasen1809))

- `parallel` feature
- Implement some parallel functions [#72](https://github.com/Axect/Peroxide/issues/72) (Thanks to [@soumyasen1809](https://github.com/soumyasen1809))

## Generic Matrix - MatrixTrait

- Implement `MatrixTrait` for Matrix (Scalar = f64)
- Implement `MatrixTrait` for ComplexMatrix (Scalar = C64)
- `LinearAlgebra` and `solve` depend on `MatrixTrait`

## Other changes

- Update `puruspe` dependency to `0.3.0`, remove `lambert_w` dependency [#79](https://github.com/Axect/Peroxide/pull/79) (Thanks to [@JSorngard](https://github.com/JSorngard))

- Add `hermite_polynomial` and `bessel_polynomial` [#80](https://github.com/Axect/Peroxide/pull/80) (Thanks to [@jgrage](https://github.com/jgrage))

# Release 0.37.9 (2024-07-31)

- Fix inconsistent lambert w function name [#65](https://github.com/Axect/Peroxide/issues/65) (Thanks to [@JSorngard](https://github.com/JSorngard))
Expand Down

0 comments on commit 398eb2b

Please sign in to comment.