Dear all,

I am optimising parameters which are part of the pde I am working on.

To this end, I am solving n linear systems, where n is the number of 
parameters:
K * sensitivity[i] = rhs[i]    i=1,...,n 
K is the (symmetric) tangent matrix which I already use to solve for the 
solution of my pde, that is, 
I just assemble the rhs vectors anew. 
The result is the Jacobian matrix 
J = [ sensitivity[1] ;...; sensitivity[n] ) 
which has as many rows as my pde has degrees of freedom. 
J has dimensions 320x8, that is, 
my pde has 320 dofs and I want to optimise 8 parameters. 
The solution of my pde (the dofs) are in the interval [0 to 1] and the 
parameters are in the interval [0 to 1e5] , i.e., the entries of J are 
rather small per nature (1e-6 to 1e-10). 
I evaluated the condition number of J in matlab: cond(J) = 1e13, which is 
too large given that the optimization algorithm works on J^t*J. 

Currently, I solve the above n linear systems using the direct solver 
UMFPACK. I know that there is no such thing like a preconditioner for 
direct solvers.
Thus, I solved the linear systems using the iterative SolverCG with a 
preconditioner:
        const int solver_its = 1000
        const double tol_sol = 1e-15
        SolverControl solver_control(solver_its, tol_sol);
        GrowingVectorMemory<Vector<double> > GVM;
        SolverCG<Vector<double> > solver_CG(solver_control, GVM);
        PreconditionSSOR<> preconditioner;
        preconditioner.initialize(tangent_matrix, 1.2);
        //solve the linear systems...
However, the condition number of J is still around 1e13. 

My idea was to push the condition number of J at least some order of 
magnitudes when applying a preconditioner to my tangent matrix. 
Is this consideration reasonable?

Best
Simon

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/96c541fb-c5d2-4f90-8d9b-2a1f603d3430n%40googlegroups.com.

Reply via email to