dimforge / dimforge/alga

FiniteDimVectorField should be implemented for `f64`and `f32`

Open
#98 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
201
Forks
40
PR merge metrics
No merged PRs in 30d

Description

The `FiniteDimVectorField` should be implemented for the `f32` and `f64` type.

A motivating example is the representation of an Initial Value Problem.

```rust
extern crate alga;

use alga::general::RealField;
use alga::linear::FiniteDimVectorSpace;

pub struct IVPProblem<'a, T, S>
where
T : RealField,
S : FiniteDimVectorSpace
{
initial_state : S,
tspan: (T,T),
func : &'a dyn Fn(&T, &S) -> S,
}
```

If we would now want to implement the exponential equation given by `dy/dt=dy` you could try to implement it as
``` rust
fn main() {
let ivp_problem = IVPProblem {
initial_state : 1.0,
tspan : (0.0, 1.0),
func : &(|_, &y| y)
};

/// More code here
}
```

This would not compile because our initial_state is an `f64`-type and the trait `FiniteDimVectorSpace` is not implemented.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.