One function felt like one too many so now an efficient workflow comprised 
solely of equations operating on equations is possible, am putting the 
package and the new workflow to the test in this plasma physics course: 
https://www.edx.org/course/plasma-physics-applications-epflx-plasmax

So far it is doing well, assembling a notebook that will be published after 
deadlines. Here is an example flow:
julia> B=:B≖:Bt*Vec(ez)
B ≖ Bt Vec([0,0,1])

julia> Eperp=:E⊥≖:a*:dBt*Vec(ey)
E⊥ ≖ a dBt Vec([0,1,0])

julia> ve=:ve≖Cross(:E⊥,:B)/:Bt^2
ve ≖ E⊥×B ╱(Bt Bt)

julia> ve&Eperp&B
ve ≖ a dBt ╱(Bt) Vec([1,0,0])


Useful pattern matching on expressions is also beginning to bud:
julia> Der(3*:x,:x)&(Der(:a*:x,:x)≖:a)
Der(3 x,x) ≖ 3

Reply via email to