pub fn update<I, E>(&mut self, input: I, errors: E) -> Result<()>
    where
        B: basis::Basis<I, Value = Features>,
        O: optim::Optimiser,
        E: IntoIterator<Item = f64>,
    {
        self.basis.project(input).and_then(|ref b| {
            let opt = &mut self.optimiser;

            errors
                .into_iter()
                .zip(self.weights.columns_mut().into_iter())
                .fold(Ok(()), |acc, (e, mut c)| {
                    acc.and(opt.step_scaled(&mut c, b, e))
                })
        })
    }
/// Update the function approximator for a given `input` and `error`.
Update the function approximator for a given `input` and `error`.
Update the function approximator for a given ` input ` and ` error ` .
pub fn update<I, E>(&mut self, input: I, errors: E) -> Result<()>
    where
        B: basis::Basis<I, Value = Features>,
        O: optim::Optimiser,
        E: IntoIterator<Item = f64>,
    {
        self.basis.project(input).and_then(|ref b| {
            let opt = &mut self.optimiser;
            errors
                .into_iter()
                .zip(self.weights.columns_mut().into_iter())
                .fold(Ok(()), |acc, (e, mut c)| {
                    acc.and(opt.step_scaled(&mut c, b, e))
                })
        })
    }
pub fn update < I , E > ( & mut self , input : I , errors : E ) -> Result < ( ) > where B : basis :: Basis < I , Value = Features > , O : optim :: Optimiser , E : IntoIterator < Item = f64 > , { self . basis . project ( input ) . and_then ( | ref b | { let opt = & mut self . optimiser ; errors . into_iter ( ) . zip ( self . weights . columns_mut ( ) . into_iter ( ) ) . fold ( Ok ( ( ) ) , | acc , ( e , mut c ) | { acc . and ( opt . step_scaled ( & mut c , b , e ) ) } ) } ) }
Update the function approximator for a given `input` and `error`.
Update the function approximator for a given ` input ` and ` error ` .
&mut self
input
I
errors
E
&mut self
input
I
errors
E