<div class="gmail_quote">On Fri, May 11, 2012 at 1:12 PM, Mark Wiebe <span dir="ltr"><<a href="mailto:mwwiebe@gmail.com" target="_blank">mwwiebe@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div class="im">On Fri, May 11, 2012 at 2:18 PM, Pauli Virtanen <span dir="ltr"><<a href="mailto:pav@iki.fi" target="_blank">pav@iki.fi</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

11.05.2012 17:54, Frédéric Bastien kirjoitti:<br>
<div>> In Theano we use a view, but that is not relevant as it is the<br>
> compiler that tell what is inplace. So this is invisible to the user.<br>
><br>
> What about a parameter to diagonal() that default to return a view not<br>
> writable as you said. The user can then choose what it want and this<br>
> don't break the inferface.<br>
</div>[clip]<br>
<br>
Agreed, it seems this is the appropriate way to go on here<br>
`diagonal(copy=True)`. A more obscure alternative would be to add a<br>
separate method that returns a view.<br></blockquote><div><br></div></div><div>This looks like the best way to deal with it, yes. </div><div><br></div><div>Cheers,</div><div>Mark</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
I don't think changing the default behavior in a later release is a good<br>
idea. It's a sort of an API wart, but IMHO better that than subtle code<br>
breakage.<br>
<span><font color="#888888"><br><br></font></span></blockquote></div></div></blockquote><div><br></div><div>copy=True seems fine, but is this the final plan?   What about long term, should diag() eventually be brought in line with transpose() and reshape() so that it is a view by default?  Changing default behavior is certainly not something that should be done all the time, but it *can* be done if deprecated appropriately.  A more consistent API is better than one with warts (if this particular issue is actually seen as a wart).</div>
</div><br>