<p>I don&#39;t see why it&#39;s unnatural for the member functions to take the location to evaluate as an argument.</p>
<p>In general, it is fragile and bad style to put any more state in a class member than necessary.</p>
<div class="gmail_quote">On May 8, 2012 8:31 AM, &quot;Dominik Szczerba&quot; &lt;<a href="mailto:dominik@itis.ethz.ch">dominik@itis.ethz.ch</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Because my (class member) functions to construct A(x) and b(x) rely on<br>
the same (class member) &quot;x&quot; as registered with KSP. I could perhaps<br>
set up my A and b routines to take &quot;x&quot; as an argument, but this is a<br>
bit unnatural for a class member function, and I can not quickly<br>
predict the consequences for the rest of the code either.<br>
<br>
Dominik<br>
<br>
On Tue, May 8, 2012 at 3:22 PM, Jed Brown &lt;<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>&gt; wrote:<br>
&gt; Why a copy?<br>
&gt;<br>
&gt; On May 8, 2012 8:16 AM, &quot;Dominik Szczerba&quot; &lt;<a href="mailto:dominik@itis.ethz.ch">dominik@itis.ethz.ch</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt;&gt; I am currently assuming they are different and am using the &quot;x&quot; from<br>
&gt;&gt; &gt;&gt; the signature to set up my A(x) and b(x). I was thinking if they are<br>
&gt;&gt; &gt;&gt; the same (i.e. corresponding to x_n in the Newton method), I could<br>
&gt;&gt; &gt;&gt; significantly simplify my code. But apparently &quot;x&quot; in the signature is<br>
&gt;&gt; &gt;&gt; not simply x_n because of the involved line search, correct me if I am<br>
&gt;&gt; &gt;&gt; wrong.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Correct, they are not the same. How could it possibly simplify your code<br>
&gt;&gt; &gt; &quot;significantly&quot;?<br>
&gt;&gt;<br>
&gt;&gt; Significantly was perhaps too strong a word, but a vector copy and a<br>
&gt;&gt; couple lines of code would certainly go. Never mind, thanks a lot for<br>
&gt;&gt; the clarification.<br>
&gt;&gt;<br>
&gt;&gt; Dominik<br>
</blockquote></div>