# Crate hipparchus_mean

Expand description

The crate provides various mathematics solver:

• factory to create various type of sequences with map/fold OPs for derived sequences
• utility to calculate various Lp norm for n-dimension vectors
• utility to calculate various mean & average moving for n-dimension vectors

## Usage

``````[dependencies]
hipparchus-mean = "0.1"
``````

## Example

### Lp Norm

Here’s an example to calculate L1 norm of a vector via `hipparchus`:

``````
use hipparchus_mean::LpNorm;

let v = vec![1.0, 2.0, 3.0, 4.0, 5.0];
let norm = v.iter().l0norm().unwrap();
``````

Below is a full list of all norm algorithms `hipperchus` has supported:

NormSyntaxFeature
l0norm-L0 norm
l1norm-L1 norm
l2norm-L2 norm
lpnorm(f32)Lp norm with p factor
lpnorm_inf-Lp norm (p=inf)

### Mean & Moving Average

Here’s an example to calculate the arithmetic mean of a vector via `hipparchus`:

``````
use hipparchus_mean::Mean;

let v = vec![1.0, 2.0, 3.0, 4.0, 5.0];
let mean = v.iter().arithmetic_mean().unwrap();
``````

Below is a full list of all mean algorithm `hipperchus` has supported:

MeanSyntaxFeature
ArithmeticMean-arithmetic mean
GeometricMean-geometric mean
HarmonicMean-harmonic mean
SimpleMovingAverage-simple moving average
CumulativeMovingAverage-cumulative moving average
WeightedMovingAverage-weighted moving average
ExponentialMovingAverage(f32)exponential moving average with decay

## Contributing

Contributions in any form (issues, pull requests, etc.) to this project must adhere to Rust’s Code of Conduct.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in hipparchus-* by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

## Re-exports

• `pub use self::value::*;`
• `pub use self::two::*;`
• `pub use self::power::*;`
• `pub use self::lpnorm::*;`
• `pub use self::mean::*;`
• `pub use self::movingavg::*;`