<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Isaac,<br class="">
<div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<br class="">
</div>
</div>
</div>
</div>
</div>
<div>
<blockquote type="cite" class="">
<div class="">On Jan 4, 2019, at 8:41 AM, Isaac, Tobin G via petsc-dev <<a href="mailto:petsc-dev@mcs.anl.gov" class="">petsc-dev@mcs.anl.gov</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class=""><br class="">
I'm interested in exploring various method of multipliers approaches<br class="">
to optimization for separable objectives.  With the separable<br class="">
objective interface recently deprecated, how do you think I should go<br class="">
about doing this?<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>The separable objective interface isn’t gone. We just changed terminology because “separable objective” was not an accurate description of what the function was doing. It was being used to define the residual for a nonlinear least-squares problem, so we’ve
 changed the function name to TaoSetResidualRoutine(). Otherwise the function signature is the same as before.</div>
<div><br class="">
</div>
<div>In line with this change, we’ve also converted TaoSetSeparableObjectiveWeights() to TaoSetResidualWeights(). We’ve also added a TaoSetResidualJacobianRoutine() in order to support the regularized Gauss-Newton algorithm that has been added to TAO recently
 (Pounders never needed the least-squares Jacobian to be provided).</div>
<div><br class="">
</div>
<div>If you were using Pounders before with the separable objective API, you can continue to do so still using the new function names. The functionality underneath hasn’t changed.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
In general, because on objective function is not an object, just a<br class="">
routine, how should we go about conveying structure in the objective?<br class="">
Do we prefer that data to be composed onto the Tao object?<br class="">
<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>There is no support in TAO at the moment for actual separable objective functions. None of the algorithms in TAO have any understanding of structure in the objective, or try to do special things to take advantage of that structure. That is actually the
 main reason why we wanted to change the separable objective interface because it is misleading to the user, and suggests the existence of a TAO functionality that is not actually available.</div>
<div><br class="">
</div>
<blockquote type="cite" class="">
<div class="">
<div class="">Thanks,<br class="">
 Toby<br class="">
<br class="">
<br class="">
</div>
</div>
</blockquote>
<br class="">
</div>
<div>I hope this answers your questions!</div>
<div><br class="">
</div>
<div>Best,</div>
<div>——<br class="">
<b class="">Alp Dener</b></div>
<div>Argonne National Laboratory</div>
<div><a href="https://www.anl.gov/profile/alp-dener" class="">https://www.anl.gov/profile/alp-dener</a></div>
</body>
</html>