Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/charisee/src/compiler/ein/mkoperators.sml
ViewVC logotype

Diff of /branches/charisee/src/compiler/ein/mkoperators.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3065, Sat Mar 14 14:58:57 2015 UTC revision 3066, Sat Mar 14 16:34:25 2015 UTC
# Line 130  Line 130 
130               }               }
131           end           end
132    
133    
134        fun mulST(dim,shape) =let
135             val  expindex= specialize(shape,0)
136             in E.EIN{
137                params = [E.TEN(1,shape),E.FLD(dim)],
138                index = shape,
139                body = E.Prod[E.Lift( E.Tensor(0,expindex)), E.Field(1,[])]
140                }
141             end
142    
143    
144    
145      fun mulSS dim = E.EIN{      fun mulSS dim = E.EIN{
146               params = [E.FLD(dim),E.FLD(dim)],               params = [E.FLD(dim),E.FLD(dim)],
147               index = [],               index = [],
# Line 438  Line 450 
450          body= E.Field(0, [E.V 1,E.V 0])          body= E.Field(0, [E.V 1,E.V 0])
451      }      }
452          (************************* determinant *************************)          (************************* determinant *************************)
453          fun detT d =E.EIN{      val detT2 =E.EIN{
454              params = [E.TEN(1,[d,d])],          params = [E.TEN(1,[2,2])],
455              index= [],              index= [],
456              body= E.Sub(E.Prod[E.Tensor(0, [E.C 0,E.C 0]),E.Tensor(0, [E.C 1,E.C 1])],              body= E.Sub(E.Prod[E.Tensor(0, [E.C 0,E.C 0]),E.Tensor(0, [E.C 1,E.C 1])],
457                  E.Prod[E.Tensor(0, [E.C 0,E.C 1]),E.Tensor(0, [E.C 1,E.C 0])])                  E.Prod[E.Tensor(0, [E.C 0,E.C 1]),E.Tensor(0, [E.C 1,E.C 0])])
458          }          }
         (*  
459    
460          (*Transpose Field F_{ji}*)      val detF2  =E.EIN{
461          fun transposeF(dim,i,j) =E.EIN{          params = [E.FLD 2], index= [],
462          params = [E.FLD(dim)], index= [i,j],          body= E.Sub(E.Prod[E.Field(0, [E.C 0,E.C 0]),E.Field(0, [E.C 1,E.C 1])],
463          body= E.Field(0, [E.V 1,E.V 0])          E.Prod[E.Field(0, [E.C 0,E.C 1]),E.Field(0, [E.C 1,E.C 0])])
464          }*)      }
465    
466    
467        val detF3  =E.EIN{
468            params = [E.FLD(3)], index= [],
469            body=E.Add[
470            E.Prod[E.Field(0, [E.C 0,E.C 0]),E.Field(0, [E.C 1,E.C 1]),E.Field(0, [E.C 2,E.C 2])],
471            E.Prod[E.Field(0, [E.C 0,E.C 1]),E.Field(0, [E.C 1,E.C 2]),E.Field(0, [E.C 2,E.C 0])],
472            E.Prod[E.Field(0, [E.C 0,E.C 2]),E.Field(0, [E.C 1,E.C 0]),E.Field(0, [E.C 2,E.C 1])],
473            E.Prod[E.Field(0, [E.C 0,E.C 2]),E.Field(0, [E.C 1,E.C 1]),E.Field(0, [E.C 2,E.C 0])],
474            E.Prod[E.Field(0, [E.C 0,E.C 1]),E.Field(0, [E.C 1,E.C 0]),E.Field(0, [E.C 2,E.C 2])],
475            E.Prod[E.Field(0, [E.C 0,E.C 0]),E.Field(0, [E.C 1,E.C 2]),E.Field(0, [E.C 2,E.C 1])]
476            ]
477        }
478    
479      (************************* other tensor ops *************************)      (************************* other tensor ops *************************)
480      fun modulate dim =E.EIN{      fun modulate dim =E.EIN{
481          params = [E.TEN(1,[dim]), E.TEN(1,[dim])],          params = [E.TEN(1,[dim]), E.TEN(1,[dim])],

Legend:
Removed from v.3065  
changed lines
  Added in v.3066

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0