#include #include #include "nr.h" using namespace std; // Driver for routine sprstm int main(void) { const int NP=5,NMAX=2*NP*NP+1; const DP THRESH=0.99; const DP a_d[NP*NP]= {1.0,0.5,0.0,0.0,0.0, 0.5,2.0,0.5,0.0,0.0, 0.0,0.5,3.0,0.5,0.0, 0.0,0.0,0.5,4.0,0.5, 0.0,0.0,0.0,0.5,5.0}; const DP b_d[NP*NP]= {1.0,1.0,0.0,0.0,0.0, 1.0,2.0,1.0,0.0,0.0, 0.0,1.0,3.0,1.0,0.0, 0.0,0.0,1.0,4.0,1.0, 0.0,0.0,0.0,1.0,5.0}; int i,j,k,msize; Vec_INT ija(NMAX),ijb(NMAX),ijbt(NMAX); Vec_DP sa(NMAX),sb(NMAX),sbt(NMAX); Mat_DP c(NP,NP),ab(NP,NP); Mat_DP a(a_d,NP,NP),b(b_d,NP,NP); NR::sprsin(a,0.5,sa,ija); NR::sprsin(b,0.5,sb,ijb); NR::sprstp(sb,ijb,sbt,ijbt); msize=ija[ija[0]-1]; Vec_INT ijc(msize); Vec_DP sc(msize); NR::sprstm(sa,ija,sbt,ijbt,THRESH,sc,ijc); for (i=0;i ): "; cout << setw(10) << THRESH << endl; for (i=0;i