def abcd_transform (   self,
  abcd 
)

for a given abcd matrix, apply it to ourself.  
        If the matrix elements themselves are vectors, it is an on-axis transform with different x & y matrices.  
        Such a matrox would look like ( ( (ax, ay), (by, by) ), ( (cx, cy), (dx, dy) ) ).
        If the matrix elements themselves are tensors, it is operating off axis.  
        Such a matrox would look like ( ( ( ( axx, axy ) , ( ayx, ayy )), ( ( bxx, bxy ) , ( byx, byy )) ), ( ... ) )

Definition at line 245 of file general_optics.py.

00245                                       :
00246                 """for a given abcd matrix, apply it to ourself.  
00247                         If the matrix elements themselves are vectors, it is an on-axis transform with different x & y matrices.  
00248                         Such a matrox would look like ( ( (ax, ay), (by, by) ), ( (cx, cy), (dx, dy) ) ).
00249                         If the matrix elements themselves are tensors, it is operating off axis.  
00250                         Such a matrox would look like ( ( ( ( axx, axy ) , ( ayx, ayy )), ( ( bxx, bxy ) , ( byx, byy )) ), ( ... ) )
00251                 """
00252                 dot=Numeric.dot
00253                 ar=Numeric.array
00254                 a, b, c, d = [expand_to_2x2tensor(i) for i in ar(abcd).flat]
00255                 q,r,s,t=(a+dot(b, self.qit)).flat
00256                 inverse=ar(((t,-r),(-s,q))) / (q*t-r*s)
00257                 self.qit=dot(c+dot(d, self.qit), inverse)
00258         
        def drift(self, length):


Generated on Wed Nov 21 10:18:32 2007 for analysis by  doxygen 1.5.4