Problems with Complie and generating a nested list
- To: mathgroup at smc.vnet.net
- Subject: [mg101755] Problems with Complie and generating a nested list
- From: Robert Smith <8888rob at gmail.com>
- Date: Thu, 16 Jul 2009 08:18:34 -0400 (EDT)
Hi, I have problem with compiling a function and then generating a nested list. I would really appreciate if someone could help me with this problem. I have a 2x2 matrix with complex components. I need to find a an expresion that involes finding derivative of components of this matrix (with respect to real variable, say, t) and then generating a nested list. It is something like this: complexmatrix= .... is the matrix I am talking about, matrixfunction:= Compile[{{m, _Complex, 2}}, D[ComplexExpand[ArcTan[Re[m[[1,1]]]/Im[m[[2,2]]]],TargetFunctions->{Re, Im}], t]]] matrixdata:=Table[{t, matrixfunction[complexmatrix]}, {t, tmin, tmax}] matrixdata and this givers errors ...... like Part specification m[[2,2]] longer than depth of object...... I have even tried matrixfunction:= Compile[{{m, _Complex, 2}}, Evaluate[D[ComplexExpand[ArcTan[Re[m[[1,1]]]/Im[m[[2,2]]]],TargetFunctions->{Re, Im}], t]]]] but even that does not work. And I have to use: D[ComplexExpand[ArcTan[Re[m[[1,1]]]/Im[m[[2,2]]]],TargetFunctions->{Re, Im}], t] because otherwise mathematica will not calculate correctly. I checked this for simple matrices (where I did not have to use Compile) and I get the right result, but for larger matrices I need to use Compile function and there things become complicated. Perhaps the problem is {t, tmin, tmax} in the table which confuses the derivative. I shall be really thankful if someone could help me with this problem. Rob