Partial derviatives in mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg95753] Partial derviatives in mathematica
- From: xareon at gmail.com
- Date: Mon, 26 Jan 2009 05:02:34 -0500 (EST)
Hi all, i got thi Newton-Raphson mathematica code:
Code:
F[{x_, y_}] = {f1[{x, y}], f2[{x, y}]};
jacobian[{x_, y_}] = Transpose[{\[PartialD]x F[{x, y}], \[PartialD]y F
[{x, y}]}];
MatrixForm[jacobian[{x, y}]];
NewtonSystem[X0_, max_] := Module[{},
n = 2;
k = 0;
Dp = {0, 0};
P0 = X0;
F0 = F[P0];
Print["F[", P0, "]=", N[F0, 3]];
P1 = P0;
F1 = F0;
While[k < max,
k = k + 1;
P0 = P1;
F0 = F1;
J0 = jacobian[P0];
det = Det[J0];
If[det == 0, Dp = {0, 0}, Dp = Inverse[J0].F0];
P1 = P0 - Dp;
F1 = F[P1];
Print["F[", P1, "]=", N[F1, 3]];];];
where f1[x, y] and f2[x, y] are defined in this way
Code:
f1[{x_, y_}] = n/x - Sum[y*Exp[-y*A*t[i]]*T[i+1], {i, 0, n-1}];
f2[{x_, y_}] = n/y - Sum[A*t[i], {i, 0, n-1}] - Sum[x*Exp[-y*A*t[i]]*T
[i+1], {i, 0, n-1}] + Sum[y*x*A*t[i]*Exp[-y*A*t[i]]*T[i+1], {i, 0,
n-1}];
T[i] e t[i] are functions defined point-by-point (from T[1] to T[50]
and from t[0] to t[49]) with this syntax:
Code:
t[0] = *un certo numero*; t[1] = *un altro numero*; t[2] = *ancora un
altro numero*; ... T[1] = *numero*; T[2] = *altro numero* ...
I got an error on the second line
Code:
jacobian[{x_, y_}] = Transpose[{\[PartialD]x F[{x, y}], \[PartialD]y F
[{x, y}]}];
Mathematica's kernel warns me with this message when i try to insert
it:
Code:
Syntax::sntxf: "jacobian[{x_, y_}] = Transpose[{" cannot be followed
by
"\[PartialD]x F[{x, y}], \[PartialD]y F[{x, y}]}];".
This line should define a 2-variables function named jacobian, that is
a jacobian matrix. I'm not a Mathematica-guru, but the code should
work anyway.
What's wrong there? f1 and f2 seem well defined (i.e., when i write
them Mathematica doesn't say nothing bad):
Thank you all ;)