Changeset 2050 for branches/newmole/source
- Timestamp:
- 05/12/08 16:59:54 (8 months ago)
- Location:
- branches/newmole/source
- Files:
-
- 2 modified
-
mole_solve.cpp (modified) (3 diffs)
-
TestHouseholder.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/newmole/source/mole_solve.cpp
r2044 r2050 485 485 } 486 486 } 487 487 488 valarray<double> b2(mole.num_calc); 488 489 for(i=0;i<mole.num_calc;i++) … … 493 494 { 494 495 valarray<double> v(mole.num_calc-nelem), 495 c(mole.num_calc-nelem),496 b3(mole.num_calc-nelem), 496 497 p(mole.num_calc-nelem); 497 498 for(i=0;i<mole.num_calc-nelem;i++) 498 499 { 499 500 v[i] = u[i+nelem][nelem]; 500 c[i] = b2[i+nelem];501 } 502 p = project( c,v,betah[nelem]);501 b3[i] = b2[i+nelem]; 502 } 503 p = project(b3,v,betah[nelem]); 503 504 for (i=0;i<mole.num_calc-nelem;i++) 504 505 { … … 513 514 { 514 515 fprintf(ioQQQ,"Remain %ld proj %g\n",nelem,b2[nelem]); 516 } 517 518 for(long j=0;j<mole.num_calc;++j) 519 { 520 for(i=0;i<mole.num_calc;++i) 521 { 522 b2[i] = c[j][i]; 523 } 524 for (nelem=ipHYDROGEN;nelem<LIMELM;nelem++) 525 { 526 valarray<double> v(mole.num_calc-nelem), 527 b3(mole.num_calc-nelem), 528 p(mole.num_calc-nelem); 529 for(i=0;i<mole.num_calc-nelem;i++) 530 { 531 v[i] = u[i+nelem][nelem]; 532 b3[i] = b2[i+nelem]; 533 } 534 p = project(b3,v,betah[nelem]); 535 for (i=0;i<mole.num_calc-nelem;i++) 536 { 537 b2[i+nelem] = p[i]; 538 } 539 } 540 fprintf(ioQQQ,"Eqn... %ld\n",j); 541 for (nelem=ipHYDROGEN;nelem<LIMELM;nelem++) 542 { 543 fprintf(ioQQQ,"Eqqq %ld proj %g\n",nelem,b2[nelem]); 544 } 545 for (;nelem<mole.num_calc;nelem++) 546 { 547 fprintf(ioQQQ,"Remn %ld proj %g\n",nelem,b2[nelem]); 548 } 515 549 } 516 550 } -
branches/newmole/source/TestHouseholder.cpp
r2041 r2050 43 43 TEST_FIXTURE(HouseholderFixture,TestHouseholderOther) 44 44 { 45 valarray<double> v(x.size()),r(x.size()) ;45 valarray<double> v(x.size()),r(x.size()),b(x.size()); 46 46 double beta; 47 47 … … 50 50 CHECK_CLOSE((y*y).sum(),(r*r).sum(),1e-6); 51 51 CHECK_CLOSE((y*x).sum()/sqrt((x*x).sum()),r[0],1e-6); 52 b = project(r,v,beta); 53 CHECK_CLOSE((b*y).sum(),(y*y).sum(),1e-6); 52 54 } 53 55 TEST_FIXTURE(HouseholderFixture,TestHouseholderProj2)
