In [1]:
using Flows


INFO: Recompiling stale cache file /home/hofi/.julia/lib/v0.4/Flows.ji for module Flows.

In [2]:
@funs A,B,C


Out[2]:
(A,B,C)

In [3]:
A+3B


Out[3]:
$3B+A$

In [4]:
_C=commutator


Out[4]:
commutator (generic function with 4 methods)

In [5]:
ex = _C(A,B)-_C(B,A)+_C(B,C+A)+A


Out[5]:
$[A,B]-[B,A]+[B,C+A]+A$

In [6]:
s=string(ex)


Out[6]:
"commutator(A,B)-commutator(B,A)+commutator(B,C+A)+A"

In [7]:
eval(parse(s))


Out[7]:
$[A,B]-[B,A]+[B,C+A]+A$

In [8]:
_C(A,B)-(-_C(B,A))


Out[8]:
$[A,B]+[B,A]$

In [9]:
_C(A,B)+_C(B,A)


Out[9]:
$[A,B]+[B,A]$

In [10]:
_C(A,A)


Out[10]:
$0$

In [11]:
_C(A,op_zero)


Out[11]:
$0$

In [12]:
ex = _C(_C(B,A+2C),3C+_C(A-2B, C))


Out[12]:
$[[B,2C+A],[-2B+A,C]+3C]$

In [13]:
normalize(ex)


Out[13]:
$[[A,C],[A,B]]-2[[B,C],[A,B]]+2[[B,C],[A,C]]+3[C,[A,B]]-6[C,[B,C]]$

In [14]:
ex=expand(ex)


Out[14]:
$3[[B,A],C]+[[B,A],[A,C]]+2[[B,C],[A,C]]+6[[B,C],C]-2[[B,A],[B,C]]$

In [15]:
ex=normalize(ex)


Out[15]:
$[[A,C],[A,B]]-2[[B,C],[A,B]]+2[[B,C],[A,C]]+3[C,[A,B]]-6[C,[B,C]]$

In [16]:
normalize(ex)


Out[16]:
$[[A,C],[A,B]]-2[[B,C],[A,B]]+2[[B,C],[A,C]]+3[C,[A,B]]-6[C,[B,C]]$

In [17]:
normalize(_C(_C(A,B),C))


Out[17]:
$-[C,[A,B]]$

In [18]:
normalize(_C(_C(B,A),C))


Out[18]:
$[C,[A,B]]$

In [19]:
normalize(_C(C,_C(C,B)))


Out[19]:
$-[C,[B,C]]$

In [20]:
normalize(_C(A,B))


Out[20]:
$[A,B]$

In [21]:
normalize(_C(B,A))


Out[21]:
$-[A,B]$

In [22]:
ex = _C(_C(A,B),_C(A,C))+_C(_C(A,B),_C(C,A))


Out[22]:
$[[A,B],[C,A]]+[[A,B],[A,C]]$

In [23]:
expand(ex)


Out[23]:
$[[A,B],[C,A]]+[[A,B],[A,C]]$

In [24]:
normalize(ex)


Out[24]:
$0$

In [25]:
@x_vars u,v,w


Out[25]:
(u,v,w)

In [26]:
A(u)


Out[26]:
$A(u)$

In [27]:
(A+B)(u)


Out[27]:
$(B+A)(u)$

In [28]:
@t_vars t,s,r


Out[28]:
(t,s,r)

In [29]:
ex=E(A+B,t,u)


Out[29]:
$\mathcal{E}_{B+A}(t,u)$

In [30]:
t_derivative(ex,t)


Out[30]:
$(B+A)(\mathcal{E}_{B+A}(t,u))$

In [31]:
ex=_C(A,B)(u)


Out[31]:
$[A,B](u)$

In [32]:
differential(ex,u,v)


Out[32]:
$[A,B]'(u)\cdot v$

In [33]:
typeof(2A)


Out[33]:
Flows.VectorFieldLinearCombination

In [34]:
(2A)(u)


Out[34]:
$(2A)(u)$

In [35]:
commutator(A,_C(A,B),u)


Out[35]:
$-[A,B]'(u)\cdot A(u)+A'(u)\cdot [A,B](u)$

In [36]:
commutator(A,_C(A,B))


Out[36]:
$[A,[A,B]]$

In [37]:
op_zero(u) # zero operator ...


Out[37]:
$(0)(u)$

In [38]:
ex=(_C(A,B)-17C)(u,v,w+v)


Out[38]:
$([A,B]-17C)''(u)(v,v+w)$

In [39]:
expand(resolve_vector_field_expressions(ex))


Out[39]:
$-B'''(u)(A(u),v,w)+A''(u)(B'(u)\cdot w,v)-B'(u)\cdot A''(u)(v,w)+A'''(u)(B(u),v,w)+A'(u)\cdot B''(u)(v,w)+A'''(u)(B(u),v,v)+A'(u)\cdot B''(u)(v,v)-B'''(u)(A(u),v,v)-B'(u)\cdot A''(u)(v,v)-17C''(u)(v,w)+A''(u)(B'(u)\cdot v,w)+2A''(u)(B'(u)\cdot v,v)-B''(u)(A'(u)\cdot w,v)-17C''(u)(v,v)-2B''(u)(A'(u)\cdot v,v)-B''(u)(A'(u)\cdot v,w)$

In [40]:
ex=(A-A)(u)


Out[40]:
$(0)(u)$

In [41]:
resolve_vector_field_expressions(ex)


Out[41]:
$0$

In [42]:
ex=(A+B)(u)+(C-A)(u)


Out[42]:
$(C-A)(u)+(B+A)(u)$

In [43]:
resolve_vector_field_expressions(ex)


Out[43]:
$B(u)+C(u)$

In [44]:
ex=_C(A,B)(u,v,w)+_C(B,A)(u,v,w)


Out[44]:
$[A,B]''(u)(v,w)+[B,A]''(u)(v,w)$

In [45]:
resolve_vector_field_expressions(ex)


Out[45]:
$0$

In [ ]: