Function russell_lab::vector::vec_add

source ·
pub fn vec_add(
    w: &mut Vector,
    alpha: f64,
    u: &Vector,
    beta: f64,
    v: &Vector
) -> Result<(), StrError>
Expand description

Performs the addition of two vectors

w := α⋅u + β⋅v

§Examples

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

fn main() -> Result<(), StrError> {
    let u = Vector::from(&[10.0, 20.0, 30.0, 40.0]);
    let v = Vector::from(&[2.0, 1.5, 1.0, 0.5]);
    let mut w = Vector::new(4);
    vec_add(&mut w, 0.1, &u, 2.0, &v)?;
    let correct = "┌   ┐\n\
                   │ 5 │\n\
                   │ 5 │\n\
                   │ 5 │\n\
                   │ 5 │\n\
                   └   ┘";
    assert_eq!(format!("{}", w), correct);
    Ok(())
}