[eigen] Re: solve with and without check |

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

*To*: eigen <eigen@xxxxxxxxxxxxxxxxxxx>*Subject*: [eigen] Re: solve with and without check*From*: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>*Date*: Mon, 24 Aug 2009 14:05:30 -0400*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=ASwFF9CQ+8+VK/lETA96K9bdEQTm+nedDs8qf6TQ0/M=; b=XElWdInpmr9bAVStBSXe1gG74h6h3g+ptJ1eReGgw1PPSQSkYhnQGgJWCizXtX6WUu 5nPzaAhpRNGphTXWKnRjLXuz1+TnWw0pQtR04FAclzGfkNsOLirN+I4exJwZ8iiLlhQQ AQshVUsRcF68j5++BE5T8NXca8VTgP5O5/1/o=*Domainkey-signature*: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=gx2wFLgH+4JOu6vuqGT41MoZCQgVTvSMfb8qPDKXDOcn75LAmdZhv09QnbcZBmDYTQ 0drCOUUR09b0W2m/lKODrE8ggQkmcWxEm9fEStxK4mphhHtxAOW0TqNrI6hYwbXHzKST bY1Okpuae3HEg/I9uF0OXd9exxwlGhqO+AM/w=

Some more thoughts: there's also the option of removing the solve-with-check functionality altogether. Does it have a use in practice? I'm leaving now until Saturday Benoit 2009/8/24 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>: > Hi, > > In various decompositions (LU, rank-revealing QR,...) we have a > solve() method that checks for the existence of a solution; if no > solution exists, it returns false and leaves the result undefined. > > This is really needed as trying to get a solution nevertheless can > result in inf/nan values making the solve() function taking much > longer to return. > > But in most cases, the user just knows that a solution is meant to > exist and he wants to get a solution even if it's only half-decent, > rather than having to check the return value of solve() and deal with > error cases. This is especially true as it's very difficult to check > for existence without paying a very high price, basically our > triangular solvers do not do any check (required, i guess, to make > them fast) so the check we do is rather fragile. > > This also isn't addressed by letting the user set manually the > precision level: the solve() method would need a separate precision > level than the compute() method, this is very cumbersome. > > --> i propose the following change: > in all decompositions that have a solve() checking for existence, > let's rename solve() to solveWithCheck() (or whatever native English > speakers prefer... perhaps trySolve() ? checkSolve() ? ) > then let's add a method solve() that doesn't do any check, making it > the responsibility of the caller that a decent solution exists. > > Cheers, > Benoit >

**References**:**[eigen] solve with and without check***From:*Benoit Jacob

**Messages sorted by:**[ date | thread ]- Prev by Date:
**[eigen] solve with and without check** - Next by Date:
**Re: [eigen] solve with and without check** - Previous by thread:
**[eigen] solve with and without check** - Next by thread:
**Re: [eigen] solve with and without check**

Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |