In [1]:
using Flows
In [2]:
@funs F,G,H
Out[2]:
In [3]:
@x_vars u,v
Out[3]:
In [4]:
@t_vars t,s
Out[4]:
In [5]:
ex=F+2(F+3G)
Out[5]:
In [6]:
exp(2t+3s,D(2F+3G))
Out[6]:
In [7]:
ex = D(3F+2G)
Out[7]:
In [8]:
expand_lie_derivatives(ex)
Out[8]:
In [9]:
D(-1F)*D(2F)
Out[9]:
In [10]:
exp(2t+3s,D(2F+3G))D(3F+2G)
Out[10]:
In [11]:
ex=D(F)*D(G)
Out[11]:
In [12]:
typeof(ex)
Out[12]:
In [13]:
D(H)*ex
Out[13]:
In [14]:
ex=D(F)*(D(G)+D(H))*exp(2t-3s,D(3F))
Out[14]:
In [15]:
string(ex)
Out[15]:
In [16]:
6D(F)D(H)+6D(F)D(G)
Out[16]:
In [17]:
typeof(ex)
Out[17]:
In [18]:
D(F)D(G)-D(G)D(F)
Out[18]:
In [19]:
typeof(D(F))
Out[19]:
In [20]:
exp(-t+17s,D(3F-4G))
Out[20]:
In [21]:
typeof(exp(t,D(F)))
Out[21]:
In [22]:
-4F+3F
Out[22]:
In [23]:
ex
Out[23]:
In [24]:
comb=apply(ex,F(u),u)
Out[24]:
In [25]:
evaluate(comb)
Out[25]:
In [26]:
-D(F)*G(u)
Out[26]:
In [27]:
string(3exp(t,D(F))*u+v)
Out[27]:
In [28]:
ex = apply(D(F)*D(G),F(u)+G(u),u)
Out[28]:
In [29]:
evaluate(ex)
Out[29]:
In [30]:
comb=apply(D(F), u+2v,u)
Out[30]:
In [31]:
evaluate(comb)
Out[31]:
In [32]:
string(comb)
Out[32]:
In [33]:
ex=D(F+G)
Out[33]:
In [34]:
typeof(ex.F)
Out[34]:
In [35]:
evaluate(D(F),(G(u)+3H(u)),u)
Out[35]:
In [36]:
evaluate(D(F),(G(H(u))),u)
Out[36]:
In [37]:
evaluate(D(F),u,u)
Out[37]:
In [38]:
evaluate(D(F+2G),H(u),u)
Out[38]:
In [39]:
ex = D(F)*G(u)
Out[39]:
In [40]:
evaluate(ex)
Out[40]:
In [41]:
evaluate(exp(t,D(F)), G(u)+3H(u), u)
Out[41]:
In [42]:
evaluate(exp(t,D(F)), G(H(u)), u)
Out[42]:
In [43]:
evaluate(exp(t,D(F)), u, u)
Out[43]:
In [44]:
evaluate(exp(t+2s,D(3F)), u, u)
Out[44]:
In [45]:
evaluate(exp(t,D(F+G)), u, u)
Out[45]:
In [46]:
evaluate(D(F)-2D(G),H(u))
Out[46]:
In [47]:
F(u)-G(v)==F(u)-G(v)
Out[47]:
In [48]:
ex = (D(F)*D(G)-D(G)*D(F))*u
Out[48]:
In [49]:
evaluate(ex)
Out[49]:
In [50]:
ex = exp(t,D(F))*exp(s,D(G))*H(u)
Out[50]:
In [51]:
evaluate(ex)
Out[51]:
In [52]:
string(ex.lie_ex)
Out[52]:
In [53]:
G(evaluate_lie_expressions(D(F)*v+v))
Out[53]:
In [54]:
Flows.LieExpressionToSpaceExpressionApplication(exp(t,D(F))*exp(s,D(G)),H(u),u)
Out[54]:
In [55]:
evaluate(D(F)*D(F)*exp(t,D(F))*u)
Out[55]:
In [56]:
evaluate(D(F)*exp(t,D(F))*D(F)*u)
Out[56]:
In [57]:
evaluate(D(F)*exp(t,D(F))*D(F)*D(F)*u)
Out[57]:
In [58]:
ex =(D(F)+D(G))*(D(F)+D(G))
Out[58]:
In [59]:
expand(ex)
Out[59]:
In [60]:
ex=(D(F)+D(G))^3
Out[60]:
In [61]:
expand(ex)
Out[61]:
In [62]:
ex = D(G)^2*exp(t,D(F))*D(F)^2*exp(t,D(G))*u
Out[62]:
In [63]:
evaluate(ex)
Out[63]:
In [64]:
expand(evaluate(ex))
Out[64]:
In [65]:
C = commutator
Out[65]:
In [66]:
ex = C(5D(F)+7D(H),2D(G)+3D(H))
Out[66]:
In [67]:
expand(ex)
Out[67]:
In [68]:
ex = (11exp(t,F)+13exp(t,G))*C(5D(F)+7D(H),2D(G)+3D(H))
Out[68]:
In [69]:
expand(ex, expand_commutators=false)
Out[69]:
In [70]:
ex = expand(ex)
Out[70]:
In [71]:
ex = merge_lie_derivatives(ex)
Out[71]:
In [72]:
expand(ex, expand_commutators=false)
Out[72]:
In [73]:
ex = (C(D(F),C(D(G),D(H))) + C(D(G),C(D(H),D(F))) + C(D(H),C(D(F),D(G))))*u
Out[73]:
In [74]:
merge_lie_derivatives(ex)
Out[74]:
In [75]:
merge_lie_derivatives(ex, merge_linear_combinations=false)
Out[75]:
In [76]:
ex = expand_lie_commutators(ex)
Out[76]:
In [77]:
ex = expand_lie_expressions(ex)
Out[77]:
In [78]:
evaluate_lie_expressions(ex)
Out[78]:
In [79]:
ex=F(u,D(F)*u)
Out[79]:
In [80]:
evaluate_lie_expressions(ex)
Out[80]:
In [81]:
evaluate_lie_expressions(ex)
Out[81]:
In [82]:
ex = Flows.commutator(D(F),D(F)+D(G))
Out[82]:
In [83]:
LieProduct(LieExpression[])
Out[83]:
In [84]:
lie_id
Out[84]:
In [85]:
ex = exp(t,D(C(F,G)))*u
Out[85]:
In [86]:
evaluate(ex)
Out[86]:
In [87]:
ex = D(commutator(F,commutator(F,commutator(F,commutator(F,G)))))*u
Out[87]:
In [88]:
ex = expand_lie_derivatives(ex)
Out[88]:
In [89]:
merge_lie_derivatives(ex)
Out[89]:
In [90]:
ex = D(F+G)*D(C(F,G))
Out[90]:
In [91]:
ex = expand_lie_derivatives(ex, expand_commutators=false)
Out[91]:
In [92]:
ex = expand_lie_derivatives(ex, expand_linear_combinations=false)
Out[92]:
In [93]:
ex = expand_lie_commutators(ex)
Out[93]:
In [94]:
expand(ex)
Out[94]:
In [95]:
ex=D(3F+5commutator(F,G)+commutator(7F,commutator(3G,11H)))
Out[95]:
In [96]:
ex1 = expand_lie_derivatives(ex)
Out[96]:
In [97]:
merge_lie_derivatives(ex1)
Out[97]:
In [98]:
ex1=expand_lie_derivatives(ex, expand_commutators=false)
Out[98]:
In [99]:
merge_lie_derivatives(ex1)
Out[99]:
In [100]:
expand_lie_derivatives(ex, expand_linear_combinations=false)
Out[100]:
In [101]:
@funs G1,G2,G3,G4
@t_vars t1,t2,t3,t4
Out[101]:
In [102]:
ex1=exp(t1,D(G1))*exp(t2,D(G2))*D(H)*exp(t3,D(G3))*exp(t4,D(G4))*v
Out[102]:
In [103]:
ex1=evaluate(ex1)
Out[103]:
In [104]:
ex2=E(G4,t4,E(G3,t3,u),E(G3,t3,u,H(u)))
Out[104]:
In [105]:
ex2=substitute(ex2,u,E(G2,t2,E(G1,t1,v)))
Out[105]:
In [106]:
ex1==ex2
Out[106]:
In [107]:
ex = exp(t,D(F))*D(F)*u
Out[107]:
In [108]:
evaluate(ex)
Out[108]:
In [109]:
ex = D(F)*exp(t,D(F))*u
Out[109]:
In [110]:
evaluate(ex)
Out[110]:
In [111]:
ex = F(D(commutator(F,G))*u)
Out[111]:
In [112]:
ex = expand_lie_derivatives(ex)
Out[112]:
In [113]:
ex = evaluate_lie_expressions(ex)
Out[113]:
In [114]:
ex = exp(2s+t,D(F))
Out[114]:
In [115]:
t_derivative(ex,t)
Out[115]:
In [116]:
t_derivative(ex,s)
Out[116]:
In [117]:
t_derivative(ex,s, to_the_right=[default])
Out[117]:
In [118]:
ex = 5exp(2t,F)+7exp(3t,G)
Out[118]:
In [119]:
t_derivative(ex,t)
Out[119]:
In [120]:
ex = D(F)*exp(2t,D(G))*D(F)*exp(3t,D(H))*D(F)
Out[120]:
In [121]:
t_derivative(ex,t)
Out[121]:
In [122]:
t_derivative(ex,t, to_the_right=[default])
Out[122]:
In [123]:
ex=commutator(exp(t,F),exp(t,G))
Out[123]:
In [124]:
t_derivative(ex, t)
Out[124]:
In [125]:
ex=D(G)*commutator(exp(t,F),D(G))*D(G)
Out[125]:
In [126]:
t_derivative(ex, t)
Out[126]:
In [ ]: