You should not expect different results in these two cases, because
diff(g(x),x) (a verb application) returns the value 'diff(g(x),x).
This is a typical case of the noun/verb distinction: diff (the verb)
*does* something
(convert one form to another); 'diff (the noun) *represents* something.
-s
On Mon, Apr 9, 2012 at 05:38, nijso beishuizen <nijso at hotmail.com> wrote:
> But I gave 'at' a verb. Shouldn't 'at' then assume that all dependencies
> are included and that g(x) does not depend on y (and therefore it can drop
> the [y=1] restriction)?
>
> I would expect a different result for
> at(diff(g(x),x),[y=1]);
>
> and
>
> at('diff(g(x),x),[y=1]);
>
> Also: does depends() change the verb diff to a noun?
>
> Does this mean 'at' assumes all input is a noun?
>
>
>
>
> ------------------------------
> Date: Sun, 8 Apr 2012 17:37:19 -0400
> Subject: Re: [Maxima] 'at' simplification
> From: macrakis at alum.mit.edu
> To: nijso at hotmail.com; fateman at eecs.berkeley.edu
> CC: Maxima at math.utexas.edu
>
>
> Agreed with Fateman, but a bit more explanation may be useful.
>
> The verb 'diff' assumes that all dependencies are included:
>
> diff( y,x ) => 0
> diff( f(y), x ) => 0
>
> Explicit dependencies can be declared with "depends":
>
> depends(q,r)$
> diff(q,r) => 'diff(q,r)
>
> The *noun* 'diff' does not; on the contrary, it assumes that any
> variables can later be substituted for:
>
> 'diff(y,x) => 'diff(y,x)
> 'diff(f(y),x) => 'diff(f(y), x)
>
> This corresponds to standard mathematical notation, where dy/dx is not
> normally taken to be 0.
>
> "At" cannot assume differently in general, but I can see that it would be
> useful in many cases to tell Maxima that g(x) does not depend on y for the
> purposes of "diff" and "at". I suppose the easiest way to do that would be
> with simplification rules on diff and at.
>
> Another limitation of the "at" scheme is that it is sensitive to the
> variable name:
>
> at(diff(f(x),x),x=0)-at(diff(f(y),y),y=0)
>
> does not simplify to 0. The positional derivative package (pdiff)
> probably handles things like this better, but I am no expert in it.
>
> -s
>
> On Sun, Apr 8, 2012 at 17:18, Richard Fateman <fateman at eecs.berkeley.edu>wrote:
>
> On 4/8/2012 11:58 AM, nijso beishuizen wrote:
>
> Dear all,
>
> This:
>
> at(diff(g(x),x),[y=1]) - at(diff(g(x),x),[y=0])
>
> should result in 0. Is there a (built-in) way to achieve this?
>
> no, because if g(x):=x*y
> it is false.
>
> I would expect that 'at' (or some simplification function) would
> recognize that the expression is independent of y.
>
>
> _______________________________________________
> Maxima mailing listMaxima at math.utexas.eduhttp://www.math.utexas.edu/mailman/listinfo/maxima
>
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>
>