kdelta evaluation in ctensor?




On Fri, 26 Mar 2010, Viktor T. Toth wrote:

< You can actually get the desired result by inserting this before eq(Beqn):
< 
< for i thru 3 do for j thru 3 do for k thru 3 do for l thru 3 do for m thru 3
< do for n thru 3 do kdelta[i,j,k,l,m,n]:kdelta([i,j,k],[l,m,n]);
< 
< Not very elegant, I know. ic_convert() is long overdue for an overhaul, as
< it doesn't play very nicely with a number of things, including
< kdelta/levi_civita.

This is a better solution, I think:

kdelta[i,j,k,l,m,n] := kdelta([i,j,k],[l,m,n]);

Leo

< 
< 
< Viktor
< 
< 
< 
< 
< -----Original Message-----
< From: maxima-bounces at math.utexas.edu [mailto:maxima-bounces at math.utexas.edu]
< On Behalf Of karl
< Sent: Friday, March 26, 2010 6:50 AM
< To: maxima at math.utexas.edu
< Subject: kdelta evaluation in ctensor?
< 
< Hi,
< 
< I am trying to compute the magnetic field using itensor and ctensor.
< The problem i have, is that the itensor "kdelta" doesn't get evaluated.
< This is somehow strange since itensor knows that 
< kdelta([1,2,3],[3,2,1]) = -1 etc...
< 
< here is my code:
< 
< load(itensor)$
< load(ctensor)$
< dim:3;
< imetric(g);
< defcon(g);
< decsym(FV,2,0,[anti(all)],[]);
< components( FV([i,j] , [] ), V([j],[],i)-V([i],[],j)  ) ;
< components( FV([],[i,j]), contract(g([],[i,k]) * g([],[j,l]) * FV([k,l],[])
< ) );
< components( tmp([i],[]) , 1/2*levi_civita([i,j,k],[]) * FV([],[j,k]) );
< Beqn : ic_convert( bfield([i],[]) =
< ishow(canform(rename(expand(ev(tmp([i],[]),kdelta)))) ) );
< ct_coords:[x,y,z];
< lg:ug:ident(3);
< V[1]:vx;
< V[2]:vy;
< V[3]:vz;
< depends([vx,vy,vz],ct_coords);
< ev(Beqn);
< bfield[1];
< 
< and the output is
< 
< (kdelta[3,3,1,1,2,3]*'diff(vz,z,1)+kdelta[2,3,1,1,2,3]*'diff(vz,y,1)+ ...
< 
< but what I want is 
< 
< 'diff(vz,y,1) - 'diff(vy,z,1)
< 
< how can I make ctensor evaluate the kdelta symbol explicitely?
< 
< 
< 
< 
< 
< 
< _______________________________________________
< Maxima mailing list
< Maxima at math.utexas.edu
< http://www.math.utexas.edu/mailman/listinfo/maxima
< 
< _______________________________________________
< Maxima mailing list
< Maxima at math.utexas.edu
< http://www.math.utexas.edu/mailman/listinfo/maxima
< 
< 

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.