Trait peroxide::traits::math::Vector[][src]

pub trait Vector {
    type Scalar;
    fn add_vec<'a, 'b>(&'a self, rhs: &'b Self) -> Self;
fn sub_vec<'a, 'b>(&'a self, rhs: &'b Self) -> Self;
fn mul_scalar(&self, rhs: Self::Scalar) -> Self; }

Mathematical Vector

Description

Vector has two operations : addition, scalar multiplication. And a space of the vector should closed for that operations.

Associated Types

Loading content...

Required methods

fn add_vec<'a, 'b>(&'a self, rhs: &'b Self) -> Self[src]

fn sub_vec<'a, 'b>(&'a self, rhs: &'b Self) -> Self[src]

fn mul_scalar(&self, rhs: Self::Scalar) -> Self[src]

Loading content...

Implementations on Foreign Types

impl Vector for Vec<AD>[src]

type Scalar = AD

impl Vector for Vec<f64>[src]

type Scalar = f64

impl Vector for f64[src]

type Scalar = Self

Loading content...

Implementors

impl Vector for Series[src]

type Scalar = Scalar

fn add_vec<'a, 'b>(&'a self, rhs: &'b Self) -> Self[src]

Add series

Example

extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = Series::new(vec![1,2,3]);
    let b = Series::new(vec![3,2,1]);
    let c = a.add_vec(&b);
    assert_eq!(c, Series::new(vec![4,4,4]));
}

fn sub_vec<'a, 'b>(&'a self, rhs: &'b Self) -> Self[src]

Sub series

Example

extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = Series::new(vec![4,5,6]);
    let b = Series::new(vec![1,2,3]);
    let c = a.sub_vec(&b);
    assert_eq!(c, Series::new(vec![3,3,3]));
}

fn mul_scalar(&self, rhs: Self::Scalar) -> Self[src]

Mul Scalar

Example

extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = Series::new(vec![1,2,3]);
    let b = Scalar::new(2);
    let c = a.mul_scalar(b);
    assert_eq!(c, Series::new(vec![2,4,6]));
}

impl Vector for Matrix[src]

type Scalar = f64

Loading content...