On 01/20/2014 09:31 AM, Alasdair wrote:
> My input:
> 
> f:=operator 'f
>> y:=operator 'y
>> kxy:=eval(D(f(x,z),[x,z]),z=y(x))  -- <- thanks to Waldek for this idea
>>
> 
> The output:
> 
> f[,1,2](%A,y(x))
>>
> 
> Why is there this "%A" all of a sudden, instead of "x"? I'm trying to do 
> some pattern matching (well, substitution), and this sort of thing is very 
> unhelpful!

Maybe the following helps.

(1) -> f := operator 'f

   (1)  f
                                                          Type:
BasicOperator
(2) -> y := operator 'y

   (2)  y
                                                          Type:
BasicOperator
(3) -> dxz := D(f(x,z),[x,z])

   (3)  f    (x,z)
         ,1,2
                                                    Type:
Expression(Integer)
(4) -> kxz := kernels(dxz).1

   (4)  f    (x,z)
         ,1,2
                                            Type:
Kernel(Expression(Integer))
(5) -> operator kxz

   (5)  %diff
                                                          Type:
BasicOperator
(6) -> argument kxz

   (6)  [f  (x,%C),%C,z]
          ,1
                                              Type:
List(Expression(Integer))

The kernel stores what it is composed from. It's a %diff of

         f  (x,%C)
          ,1

with respect to the variable %C (second variable) and %C is in the end
renamed to z. Just imagine that it would have been a z in the first
argument. Note that D(..., [x,z]) is the partial derivative.

Ralf

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to