[][src]Trait lfa::basis::Basis

pub trait Basis<T>: Space + Combinators {
    fn project(&self, input: T) -> Result<Self::Value>;

    fn n_features(&self) -> usize { ... }
}

Trait for functional bases.

Required methods

fn project(&self, input: T) -> Result<Self::Value>

Project the given input onto the basis.

use lfa::{Features, basis::{Basis, Bias}};

let basis = Bias::unit();

assert_eq!(
    basis.project(&[0.0]).unwrap(),
    Features::from(vec![1.0])
);
Loading content...

Provided methods

fn n_features(&self) -> usize

Return the number of features produced by this Basis.

Loading content...

Implementors

impl<'a, T> Basis<T> for UniformGrid where
    T: IntoIterator<Item = &'a f64>, 
[src]

impl<'a, T, H> Basis<T> for TileCoding<H> where
    T: IntoIterator<Item = &'a f64>,
    H: BuildHasher
[src]

impl<I: Borrow<f64>, T: IntoIterator<Item = I>> Basis<T> for Fourier[src]

impl<I: Borrow<f64>, T: IntoIterator<Item = I>> Basis<T> for Polynomial where
    T::IntoIter: Clone
[src]

impl<I: Borrow<f64>, T: IntoIterator<Item = I>> Basis<T> for Chebyshev where
    T::IntoIter: Clone
[src]

impl<T> Basis<T> for Bias[src]

impl<T> Basis<T> for Fixed<(usize, HashSet<IndexT>)>[src]

impl<T> Basis<T> for Fixed<Vec<f64>>[src]

impl<T, B> Basis<T> for L0Normaliser<B> where
    B: Basis<T, Value = Features>, 
[src]

impl<T, B> Basis<T> for L1Normaliser<B> where
    B: Basis<T, Value = Features>, 
[src]

impl<T, B> Basis<T> for L2Normaliser<B> where
    B: Basis<T, Value = Features>, 
[src]

impl<T, B> Basis<T> for LinfNormaliser<B> where
    B: Basis<T, Value = Features>, 
[src]

impl<T, B1, B2> Basis<T> for Stack<B1, B2> where
    T: Clone,
    B1: Basis<T, Value = Features>,
    B2: Basis<T, Value = Features>, 
[src]

impl<T, F> Basis<T> for Closure<F> where
    F: Fn(T) -> Result<Features>, 
[src]

impl<T, K> Basis<T> for KernelBasis<Vec<f64>, K> where
    T: Borrow<[f64]>,
    K: for<'x> Kernel<&'x [f64]>, 
[src]

Loading content...