<div class="gmail_quote">On Sun, Jul 31, 2011 at 22:24, Vijay S. Mahadevan <span dir="ltr">&lt;<a href="mailto:vijay.m@gmail.com">vijay.m@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":50">I am looking at equality constraints only for now.</div></blockquote><div><br></div><div>VI stands for Variational Inequality. It wouldn&#39;t make sense to use for equality constraints. Just write your system as a DAE.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":50"> But I just realized<br>
that, the constraints in VI seem only to be on variables but not on a<br>
function of it.</div></blockquote><div><br></div><div>That just means you have to introduce new variables.</div><div><br></div><div>Maybe others can comment on this, but I suspect that, as with DAEs, the well-behaved system that you eventually want to solve might come after eliminating those intermediate variables. For DAEs, we just changed the formalism slightly so the user (and any Jacobian information that they might provide) works with a form in which the extra variables have been eliminated. If that is the case, we should look at the API to see if we can hide the intermediate variables from the user (thus letting them set constraints on arbitrary functions of the independent variables).</div>
</div>