Skip to main content

vec_update

Function vec_update 

Source
pub fn vec_update(
    v: &mut Vector,
    alpha: f64,
    u: &Vector,
) -> Result<(), StrError>
Expand description

(daxpy) Updates vector based on another vector

v += α⋅u

See also: https://www.netlib.org/lapack/explore-html/d9/dcd/daxpy_8f.html

§Examples

use russell_lab::{vec_update, Vector, StrError};

fn main() -> Result<(), StrError> {
    let u = Vector::from(&[10.0, 20.0, 30.0]);
    let mut v = Vector::from(&[10.0, 20.0, 30.0]);
    vec_update(&mut v, 0.1, &u)?;
    let correct = "┌    ┐\n\
                   │ 11 │\n\
                   │ 22 │\n\
                   │ 33 │\n\
                   └    ┘";
    assert_eq!(format!("{}", v), correct);
    Ok(())
}