Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim
In directory sc8-pr-cvs1:/tmp/cvs-serv24291
Modified Files:
Inert.mpl
Log Message:
Added `Inert/PartialDiffPrime` (for partial derivatives).
Index: Inert.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/Inert.mpl,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** Inert.mpl 23 Oct 2003 02:31:31 -0000 1.9
--- Inert.mpl 20 Dec 2003 21:42:22 -0000 1.10
***************
*** 872,876 ****
elif Value(b)=0 then
"1"
! elif type(a,negative) or type(a,float) then
PercentStringToProc("\\left({%1}\\right)^{%2}")(a,b);
else
--- 872,876 ----
elif Value(b)=0 then
"1"
! elif type(a,negative) or type(a,float) or type(a,fraction) then
PercentStringToProc("\\left({%1}\\right)^{%2}")(a,b);
else
***************
*** 1267,1270 ****
--- 1267,1308 ----
"",
proc() Apply(`Inert/DiffPrime`,args) end
+ ):
+ ###################################################################
+ `Package/Assign`(
+ `Inert/PartialDiffPrime`::Inert,
+ "The Inert partial derivative of a function in prime/subscript notation.",
+ `new/Inert`( proc() # Map
+ diff(args[1],args[2..nargs]);
+ end,
+ proc(f,x) # TeX
+ local s,n,a:
+ n:=nargs-1;
+ s:=cat(seq(TeX(args[i]),i=2..nargs));
+ if type(f,symbol) then
+ a:=PercentStringToProc("{%1}_{%2}")(f,s);
+ if n=1 then a:=cat("{",a,"}'") fi:
+ else
+ a:=PercentStringToProc("\\left(%1\\,\\right)_{%2}")(f,s);
+ if n=1 then a:=cat(a,"^'") fi:
+ fi;
+ a;
+ end,
+ -1, # Nargs
+ proc() # Domain
+ evalb(nargs>=2 and
+ type(args[1],algebraic) and
+ type(args[2],symbol))
+ end,
+ "PartialDerivative", # Name
+ false, # Needs parentheses
+ true, # Provides parentheses
+ false, # Associative
+ 0) # Precedence
+ ):
+
+ `Package/Assign`(
+ PartialDiffPrime::procedure,
+ "",
+ proc() Apply(`Inert/PartialDiffPrime`,args) end
):
|