       Re: How to calculate the partial derivative?

• To: mathgroup at smc.vnet.net
• Subject: [mg128746] Re: How to calculate the partial derivative?
• From: Tang Laoya <tanglaoya1989 at gmail.com>
• Date: Fri, 23 Nov 2012 03:26:13 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-newout@smc.vnet.net
• Delivered-to: mathgroup-newsend@smc.vnet.net
• References: <k8jss7\$5nl\$1@smc.vnet.net> <k8ks07\$858\$1@smc.vnet.net>

```Dear Dr. Hanlon,

Now I have another question:

I wish Mathematica give me an express which I can code by Fortran with smallest number of floating operations. For example, if I have:

bb1 = -Det[{{1, 1, 1}, {y2, y3, y4}, {z2, z3, z4}}];

the result by Mathematica is:
y3 z2 - y4 z2 - y2 z3 + y4 z3 + y2 z4 - y3 z4

I wish it output the result like this:
z2 (y3-y4) - z3 (y2-y4) + z4 (y2-y3)

What should I do?

Thanks,
Tang Laoya

On Thursday, November 22, 2012 5:43:45 PM UTC+8, Tang Laoya wrote:
> Dear all,
>
>
>
> Sorry for my unsuitable example. My final program is as follows, could anyone please help me to take a look at it?
>
>
>
>
>
> Thanks,
>
> Tang Laoya
>
>
>
>
>
> Clear["Global`*"];
>
> L1 = (a1 + b1 x + c1 y + d1 z)/6/V;
>
> L2 = (a2 + b2 x + c2 y + d2 z)/6/V;
>
> L3 = (a3 + b3 x + c3 y + d3 z)/6/V;
>
> L4 = (a4 + b4 x + c4 y + d4 z)/6/V;
>
>
>
> nod = 10;
>
> NN = Table[0, {nod}];
>
> NN[] = L1 (2 L1 - 1);
>
> NN[] = L2 (2 L2 - 1);
>
> NN[] = L3 (2 L3 - 1);
>
> NN[] = L4 (2 L4 - 1);
>
> NN[] = 4 L1 L2;
>
> NN[] = 4 L2 L3;
>
> NN[] = 4 L3 L1;
>
> NN[] = 4 L3 L4;
>
> NN[] = 4 L4 L1;
>
> NN[] = 4 L2 L4;
>
>
>
> NNT = Flatten[Table[NN[[i]], {i, 1, nod}]];
>
> Print["Dimensions of NNT:", Dimensions[NNT]];
>
>
>
> DNx = D[NNT, x]
>
> (* How to do to let the DNx have such express? For example, DNx[] = b1/6/V*(2*L1-1) + L1*b1/3/V *)
>
>
>
> DNy = D[NNT, y]
>
> DNz = D[NNT, z]
>
> DNxx = Transpose[{DNx}].{DNx};
>
> DNyy = Transpose[{DNy}].{DNy};
>
> DNzz = Transpose[{DNz}].{DNz};
>
> Print["Dimensions of DNxx:", Dimensions[DNxx]];
>
>
>
> K = DNxx + DNyy + DNzz;
>
>
>
> (* I wish to replace all express "L1^aa*L2^bb*L3^cc*L4^dd" in matrix K by "aa!*bb!*cc!dd!/((aa+bb+cc+dd+3)!)*6*V", how to do? in the express, the aa, bb, cc or dd could be ZERO  *)
>
>
>
> K = Expand[K];
>
> Print["Simplifying K"];
>
> K = Simplify[K]

```

• Prev by Date: Plots combining
• Next by Date: Re: How to calculate the partial derivative?
• Previous by thread: Re: How to calculate the partial derivative?
• Next by thread: Re: How to calculate the partial derivative?