Files
2025-02-Numerical/lib/nr/cpp/recipes/sprstx.cpp
2025-09-12 18:55:25 +09:00

18 lines
332 B
C++

#include "nr.h"
void NR::sprstx(Vec_I_DP &sa, Vec_I_INT &ija, Vec_I_DP &x, Vec_O_DP &b)
{
int i,j,k;
int n=x.size();
if (ija[0] != (n+1))
nrerror("mismatched vector and matrix in sprstx");
for (i=0;i<n;i++) b[i]=sa[i]*x[i];
for (i=0;i<n;i++) {
for (k=ija[i];k<ija[i+1];k++) {
j=ija[k];
b[j] += sa[k]*x[i];
}
}
}