I'm only running on one processor at the moment, this is the behavior I'm talking about: (note that KSPSolve on the original matrix works great)
0 KSP preconditioned resid norm 1.390903128574e-04 true resid norm 7.071067811865e-01 1 KSP preconditioned resid norm 4.599763143217e-05 true resid norm 8.322371331683e-01 2 KSP preconditioned resid norm 1.654272381302e-04 true resid norm 8.003440639371e-01 3 KSP preconditioned resid norm 7.136279098867e-02 true resid norm 4.349303771363e+01 4 KSP preconditioned resid norm 5.796284088553e-03 true resid norm 4.955296676945e-01 5 KSP preconditioned resid norm 4.768750713012e-03 true resid norm 3.137347590723e-01 6 KSP preconditioned resid norm 3.408688625913e-03 true resid norm 1.945847883068e-01 7 KSP preconditioned resid norm 2.583172643288e-03 true resid norm 7.634413690787e-01 8 KSP preconditioned resid norm 2.019037806077e-03 true resid norm 2.514111815705e-01 9 KSP preconditioned resid norm 1.000916210470e-03 true resid norm 1.149340854362e-01 10 KSP preconditioned resid norm 6.961789967280e-04 true resid norm 7.473089637106e-02 11 KSP preconditioned resid norm 5.318821017005e-04 true resid norm 6.819674638097e-02 12 KSP preconditioned resid norm 5.102845585294e-04 true resid norm 7.504782304994e-02 13 KSP preconditioned resid norm 4.827530166955e-04 true resid norm 6.961251586046e-02 14 KSP preconditioned resid norm 4.650489781850e-04 true resid norm 7.105110351352e-02 15 KSP preconditioned resid norm 7.554860350168e-04 true resid norm 1.362292692709e-01 16 KSP preconditioned resid norm 3.856120189896e-04 true resid norm 8.611614029207e-02 17 KSP preconditioned resid norm 3.388301062554e-04 true resid norm 7.937086351967e-02 18 KSP preconditioned resid norm 3.941150978725e-04 true resid norm 8.480487700195e-02 19 KSP preconditioned resid norm 2.618186602635e-04 true resid norm 8.182966564123e-02 20 KSP preconditioned resid norm 2.329131506171e-04 true resid norm 8.529721065137e-02 21 KSP preconditioned resid norm 2.290962719325e-04 true resid norm 8.698456707472e-02 22 KSP preconditioned resid norm 2.288880028982e-04 true resid norm 8.540349746618e-02 23 KSP preconditioned resid norm 2.054973204158e-04 true resid norm 8.959104987193e-02 24 KSP preconditioned resid norm 1.959904943582e-04 true resid norm 9.045567512559e-02 25 KSP preconditioned resid norm 1.952418586285e-04 true resid norm 9.007738434662e-02 26 KSP preconditioned resid norm 2.251677392651e-04 true resid norm 9.589901454236e-02 27 KSP preconditioned resid norm 2.333244796735e-04 true resid norm 9.566927017538e-02 28 KSP preconditioned resid norm 2.415316032032e-04 true resid norm 9.646694389042e-02 29 KSP preconditioned resid norm 2.486845824748e-04 true resid norm 9.739660339140e-02 30 KSP preconditioned resid norm 3.496031881750e-04 true resid norm 9.191874052601e-02 31 KSP preconditioned resid norm 2.742098425944e-04 true resid norm 1.036225649385e-01 32 KSP preconditioned resid norm 2.918732801969e-04 true resid norm 1.061810009699e-01 33 KSP preconditioned resid norm 2.911510984457e-04 true resid norm 1.067104526588e-01 34 KSP preconditioned resid norm 2.812031840107e-04 true resid norm 1.060861749923e-01 35 KSP preconditioned resid norm 2.736426511632e-04 true resid norm 1.062681091319e-01 36 KSP preconditioned resid norm 2.452982568345e-04 true resid norm 1.058722690723e-01 37 KSP preconditioned resid norm 2.636619237574e-04 true resid norm 1.045871337618e-01 38 KSP preconditioned resid norm 2.363085860212e-04 true resid norm 1.061122603986e-01 39 KSP preconditioned resid norm 2.307147509961e-04 true resid norm 1.164653200787e-01 40 KSP preconditioned resid norm 2.076585793357e-04 true resid norm 1.036395343938e-01 41 KSP preconditioned resid norm 9.748011400474e-05 true resid norm 1.217755590404e-01 42 KSP preconditioned resid norm 8.044274057205e-05 true resid norm 1.308671247290e-01 43 KSP preconditioned resid norm 3.704513052916e-05 true resid norm 1.418486616816e-01 44 KSP preconditioned resid norm 1.808370336561e-05 true resid norm 1.462866580439e-01 45 KSP preconditioned resid norm 1.007327518499e-05 true resid norm 1.469533395294e-01 46 KSP preconditioned resid norm 7.474203323248e-06 true resid norm 1.471196722197e-01 47 KSP preconditioned resid norm 3.104362804334e-06 true resid norm 1.464133558701e-01 48 KSP preconditioned resid norm 3.916281651035e-06 true resid norm 1.459108432786e-01 49 KSP preconditioned resid norm 2.125266913518e-06 true resid norm 1.459915674565e-01 50 KSP preconditioned resid norm 1.278372472354e-06 true resid norm 1.460058114531e-01 51 KSP preconditioned resid norm 1.154265590044e-06 true resid norm 1.460037010751e-01 52 KSP preconditioned resid norm 8.377365056555e-07 true resid norm 1.461658296202e-01 53 KSP preconditioned resid norm 6.259258415049e-07 true resid norm 1.461829228733e-01 54 KSP preconditioned resid norm 4.864836311168e-07 true resid norm 1.460741388015e-01 55 KSP preconditioned resid norm 3.193814690832e-07 true resid norm 1.461503915286e-01 56 KSP preconditioned resid norm 3.117670096628e-07 true resid norm 1.461442206620e-01 57 KSP preconditioned resid norm 2.794649220494e-08 true resid norm 1.462036860889e-01 58 KSP preconditioned resid norm 5.305003844821e-08 true resid norm 1.461952341641e-01 59 KSP preconditioned resid norm 4.858416309274e-08 true resid norm 1.461955191337e-01 60 KSP preconditioned resid norm 4.961086764514e-08 true resid norm 1.461980523947e-01 61 KSP preconditioned resid norm 3.593919110530e-08 true resid norm 1.462003890061e-01 62 KSP preconditioned resid norm 1.654302376661e-08 true resid norm 1.462081188051e-01 63 KSP preconditioned resid norm 1.616013993598e-08 true resid norm 1.462087103241e-01 64 KSP preconditioned resid norm 1.629058386377e-08 true resid norm 1.462088185303e-01 65 KSP preconditioned resid norm 1.642015568778e-08 true resid norm 1.462086724918e-01 66 KSP preconditioned resid norm 1.702949256327e-08 true resid norm 1.462088581780e-01 67 KSP preconditioned resid norm 1.701842873848e-08 true resid norm 1.462087329483e-01 68 KSP preconditioned resid norm 1.695944590616e-08 true resid norm 1.462087098414e-01 69 KSP preconditioned resid norm 1.696929117551e-08 true resid norm 1.462086881118e-01 70 KSP preconditioned resid norm 1.700242718414e-08 true resid norm 1.462087228929e-01 71 KSP preconditioned resid norm 1.658065137177e-08 true resid norm 1.462086814880e-01 72 KSP preconditioned resid norm 1.662100494981e-08 true resid norm 1.462087581058e-01 73 KSP preconditioned resid norm 1.629897996614e-08 true resid norm 1.462088048567e-01 74 KSP preconditioned resid norm 1.625741596991e-08 true resid norm 1.462088774477e-01 75 KSP preconditioned resid norm 1.624765824983e-08 true resid norm 1.462089036067e-01 76 KSP preconditioned resid norm 1.626897149810e-08 true resid norm 1.462085483495e-01 77 KSP preconditioned resid norm 1.635255659489e-08 true resid norm 1.462065713317e-01 78 KSP preconditioned resid norm 1.628063309886e-08 true resid norm 1.462070325450e-01 79 KSP preconditioned resid norm 1.632101341913e-08 true resid norm 1.462054785290e-01 80 KSP preconditioned resid norm 1.650324175189e-08 true resid norm 1.462015895771e-01 81 KSP preconditioned resid norm 1.648384674574e-08 true resid norm 1.462009093701e-01 82 KSP preconditioned resid norm 1.646363445772e-08 true resid norm 1.462001938088e-01 83 KSP preconditioned resid norm 1.642895250869e-08 true resid norm 1.462001704846e-01 84 KSP preconditioned resid norm 1.696723246615e-08 true resid norm 1.461858749698e-01 85 KSP preconditioned resid norm 1.856665593258e-08 true resid norm 1.462124281091e-01 86 KSP preconditioned resid norm 1.841962116850e-08 true resid norm 1.462148912533e-01 87 KSP preconditioned resid norm 1.698558241454e-08 true resid norm 1.461781897268e-01 88 KSP preconditioned resid norm 1.905123320211e-08 true resid norm 1.466101067430e-01 89 KSP preconditioned resid norm 1.711173152252e-08 true resid norm 1.463386042754e-01 90 KSP preconditioned resid norm 1.784287144041e-08 true resid norm 1.464641485021e-01 91 KSP preconditioned resid norm 1.808297575000e-08 true resid norm 1.464123027903e-01 92 KSP preconditioned resid norm 1.820795767966e-08 true resid norm 1.463642823300e-01 93 KSP preconditioned resid norm 1.811029186150e-08 true resid norm 1.464525930488e-01 94 KSP preconditioned resid norm 1.837449132765e-08 true resid norm 1.467284100358e-01 95 KSP preconditioned resid norm 1.799274687142e-08 true resid norm 1.467334617102e-01 96 KSP preconditioned resid norm 1.780871897998e-08 true resid norm 1.467508060173e-01 97 KSP preconditioned resid norm 1.780933765924e-08 true resid norm 1.466991064681e-01 98 KSP preconditioned resid norm 1.693611578188e-08 true resid norm 1.468053166786e-01
Randy,
Do you have this problem on one process?
Barry
On Mon, 25 Sep 2006, Randall Mackie wrote:
Barry Smith wrote:Randy,
Now, if I want to solve (2) above, do I simply make a call to KSPSolveTranspose(ksp,b,xsol), where I've set b to the right hand side of (2)Yes, this is the way we intend it to be used. You should not have to construct the transposed matrices.
Questions:
Are you using KSPSetNullSpace()?No
Are you using right or left preconditioning? Or not setting it?I'm not setting it, just using the default
What KSP method are you using? What preconditioner are you using?-em_ksp_truemonitor \ -em_ksp_type bcgs \ -em_pc_type bjacobi \ -em_sub_pc_type ilu \ -em_sub_pc_factor_levels 3 \ -em_sub_pc_factor_fill 6 \
Barry
On Mon, 25 Sep 2006, Randall Mackie wrote:
I have a situation where I have to solve the following problems:
1) Ax=b
2) (A)^T u = c
A is not symmetric.
After I set up my A matrix and the preconditioner P (which is NOT the same as A), I solve it like so:
call set_P(da,P,l,m,n,period,resist,x,y,z) call set_A(da,A,l,m,n,period,resist,x,y,z)
call MatSetBlockSize(A,3,ierr) call MatSetBlockSize(P,3,ierr)
call KSPSetOperators(ksp,A,P,DIFFERENT_NONZERO_PATTERN,ierr) call KSPSetInitialGuessNonzero(ksp,PETSC_TRUE,ierr)
call KSPSolve(ksp,b,xsol,ierr) call KSPGetIterationNumber(ksp,its,ierr) call KSPGetConvergedReason(ksp,reason,ierr)
Now, if I want to solve (2) above, do I simply make a call to KSPSolveTranspose(ksp,b,xsol), where I've set b to the right hand side of (2), or do I have to create the transposes of both A and the preconditioner and just use KSPSolve?
When I've tried just using KSPSolveTranspose, the preconditioned residual norm falls, but not as rapidly as when doing (1), and the true residual norm seems not to change much at all.
Thanks, Randy
-- Randall Mackie GSY-USA, Inc. PMB# 643 2261 Market St., San Francisco, CA 94114-1600 Tel (415) 469-8649 Fax (415) 469-5044
California Registered Geophysicist License No. GP 1034