[Trilinos-Users] Teuchos::SerialDenseSolver equilibration: unexpected behavior

Eric Bavier bavier at cray.com
Thu Oct 20 09:49:03 MDT 2011


By the way, this is bug #5306

`~Eric

> -----Original Message-----
> From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-
> users-bounces at software.sandia.gov] On Behalf Of Thornquist, Heidi K
> Sent: Thursday, October 20, 2011 10:45 AM
> To: Nico Schlömer; Trilinos Users
> Subject: Re: [Trilinos-Users] Teuchos::SerialDenseSolver equilibration:
> unexpected behavior
> 
> Thanks Nico,  I'm taking care of this right now.
> 
> Heidi
> 
> --
> Heidi K. Thornquist
> Senior Member of Technical Staff
> Electrical Systems Modeling
> Sandia National Laboratories
> P.O. Box 5800, MS 0316
> Albuquerque, NM  87185-0316
> Phone: (505)284-8426
> Fax:   (505)284-5451
> 
> 
> 
> 
> 
> 
> On 10/20/11 5:24 AM, "Nico Schlömer" <nico.schloemer at ua.ac.be> wrote:
> 
> > > ============= *snip* =============
> > > if (ierr1!=0)
> > > return(ierr1);
> > > else
> > > return(ierr);
> > >
> > > // one never gets here
> > > if (equilibrate_) ierr1 = unequilibrateLHS();
> > > return(ierr1);
> > > }
> > > ============= *snap* =============
> >
> >Also, this is most likely what Amesos2 devs are working around in
> >Amesos2_Lapack_def.hpp:173.
> >
> >Cheers,
> >Nico
> >
> >
> >
> >On 10/20/2011 01:14 PM, Nico Schlömer wrote:
> >> Problem solved.
> >>
> >> There is a bug in the Teuchos::Serial*DenseSolver: The
> unequilibration
> >> was actually carried out on the *RHS* whereas it should be the LHS.
> This
> >> basically means that the equilibration never worked if there was a
> >> column scaling.
> >>
> >> Patch attached.
> >>
> >> I also noticed that in the respective solve() methods, the
> equilibration
> >> is never automatically done:
> >>
> >> ============= *snip* =============
> >> if (ierr1!=0)
> >> return(ierr1);
> >> else
> >> return(ierr);
> >>
> >> // one never gets here
> >> if (equilibrate_) ierr1 = unequilibrateLHS();
> >> return(ierr1);
> >> }
> >> ============= *snap* =============
> >>
> >> -- I guess the maintainer may want to have a look at this.
> >>
> >> Cheers,
> >> Nico
> >>
> >>
> >>
> >> On 10/19/2011 03:45 PM, Nico Schlömer wrote:
> >>> Hi,
> >>>
> >>> I just encountered a rather odd behavior of
> Teuchos::SerialDenseSolver
> >>> when used with equilibration.
> >>> After building a specific 3x3 equation system (code attached), I
> call
> >>>
> >>> solver.solve();
> >>>
> >>> without equilibration and get the output
> >>>
> >>> ================ *snip* ================
> >>> WARNING! SerialDenseSolver<T>::solve: System should be
> equilibrated!
> >>> -0.0416252 0.836261 0.358417
> >>> ================ *snap* ================
> >>>
> >>> This solution is correct. Using
> >>>
> >>> solver.equilibrateMatrix();
> >>> solver.equilibrateRHS();
> >>> solver.solve();
> >>> solver.unequilibrateLHS();
> >>>
> >>> however, produces
> >>>
> >>> ================ *snip* ================
> >>> -0.0416252 0.653305 0.323626
> >>> ================ *snap* ================
> >>>
> >>> I guess I must be making some sort of mistake here but I fail to
> see
> >>> what the issue could be.
> >>> The comments in ./packages/amesos2/src/Amesos2_Lapack_def.hpp
> suggest
> >>> that there may be more to it.
> >>> Any hints?
> >>>
> >>> Cheers,
> >>> Nico
> >>>
> >>>
> >>> _______________________________________________
> >>> Trilinos-Users mailing list
> >>> Trilinos-Users at software.sandia.gov
> >>> http://software.sandia.gov/mailman/listinfo/trilinos-users
> >>
> >>
> >>
> >> _______________________________________________
> >> Trilinos-Users mailing list
> >> Trilinos-Users at software.sandia.gov
> >> http://software.sandia.gov/mailman/listinfo/trilinos-users
> >
> >
> >
> >_______________________________________________
> >Trilinos-Users mailing list
> >Trilinos-Users at software.sandia.gov
> >http://software.sandia.gov/mailman/listinfo/trilinos-users
> 
> 
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users




More information about the Trilinos-Users mailing list