pub fn add<T: Numeric<T>>(
a: &Sprs<T>,
b: &Sprs<T>,
alpha: T,
beta: T,
) -> Sprs<T>Expand description
C = alpha * A + beta * B
ยงExample:
let a = [
vec![2., 2., 4., 4., 1.],
vec![3., 4., 5., 8., 3.],
vec![2., 6., 3., 9., 3.],
vec![5., 7., 6., 7., 1.],
vec![7., 1., 8., 9., 2.],
];
let mut a_sparse = rsparse::data::Sprs::new();
a_sparse.from_vec(&a);
let b = [
vec![8., 8., 6., 6., 2.],
vec![4., 9., 7., 5., 9.],
vec![2., 3., 8., 4., 1.],
vec![4., 7., 6., 8., 9.],
vec![9., 1., 8., 7., 1.],
];
let mut b_sparse = rsparse::data::Sprs::new();
b_sparse.from_vec(&b);
let r = [
vec![10., 10., 10., 10., 3.],
vec![7., 13., 12., 13., 12.],
vec![4., 9., 11., 13., 4.],
vec![9., 14., 12., 15., 10.],
vec![16., 2., 16., 16., 3.],
];
let mut r_sparse = rsparse::data::Sprs::new();
r_sparse.from_vec(&r);
// Check as dense
assert_eq!(rsparse::add(&a_sparse, &b_sparse, 1., 1.).to_dense(), r);