Commit f3ab2bf6 authored by Blais, Chris's avatar Blais, Chris
Browse files

notebook for sympy solves

parent 1725b42e
Loading
Loading
Loading
Loading
+218 −0
Original line number Diff line number Diff line
%% Cell type:code id:92713225 tags:

``` python
import sympy as sy
```

%% Cell type:markdown id:db218c16 tags:

# case 1: single solution

<img src="./plots/layout_3591_paper.png" alt="description" width="600"/>

%% Cell type:code id: tags:

``` python
m1, m2, m3, m4, m5, m6, x1, x2, x3, x4, x5, x6  =sy.symbols('m1 m2 m3 m4 m5 m6 x1 x2 x3 x4 x5 x6')
```

%% Cell type:code id:5946f5a2 tags:

``` python
cb1 = m1*x1 + m6*x6 - m2*x2
mb1 = m1 + m6 - m2

cb2 = m2*x2 - m3*x3 - m4*x6
mb2 = m2 - m3 - m4

sub_dict = {}
sub_dict["m2"] = sy.solve(mb2, m2)
assert len(sub_dict["m2"]) == 1
sub_dict["m2"] = sub_dict["m2"][0]
sub_dict["m3"] = sy.solve(cb2.subs(sub_dict), m3)
assert len(sub_dict["m3"]) == 1
sub_dict["m3"] = sub_dict["m3"][0]

sub_dict["m1"] = sy.solve(mb1.subs(sub_dict), m1)
assert len(sub_dict["m1"]) == 1

sub_dict["m1"] = sub_dict["m1"][0]
sub_dict["m1"]

sub_dict["x6"] = sy.solve(cb1.subs(sub_dict), x6)
assert len(sub_dict["x6"]) == 1
sub_dict["x6"] = sub_dict["x6"][0]


# solution for x_6/x_5/x_4
sy.print_latex(sub_dict["x6"])
```

%% Output

    \frac{m_{4} x_{1} x_{3} - m_{4} x_{2} x_{3} + m_{6} x_{1} x_{2} - m_{6} x_{1} x_{3}}{m_{4} x_{1} - m_{4} x_{2} + m_{6} x_{2} - m_{6} x_{3}}

%% Cell type:code id:c4d68773 tags:

``` python
for entry in sub_dict:
    display(sub_dict[entry])
```

%% Output

    $\displaystyle m_{3} + m_{4}$

    $\displaystyle \frac{m_{4} \left(- x_{2} + x_{6}\right)}{x_{2} - x_{3}}$

    $\displaystyle \frac{- m_{4} x_{3} + m_{4} x_{6} - m_{6} x_{2} + m_{6} x_{3}}{x_{2} - x_{3}}$

    $\displaystyle \frac{m_{4} x_{1} x_{3} - m_{4} x_{2} x_{3} + m_{6} x_{1} x_{2} - m_{6} x_{1} x_{3}}{m_{4} x_{1} - m_{4} x_{2} + m_{6} x_{2} - m_{6} x_{3}}$

%% Cell type:code id:9eb5fe10 tags:

``` python
sub_dict
```

%% Output

    {'m2': m3 + m4,
     'm3': m4*(-x2 + x6)/(x2 - x3),
     'm1': (-m4*x3 + m4*x6 - m6*x2 + m6*x3)/(x2 - x3),
     'x6': (m4*x1*x3 - m4*x2*x3 + m6*x1*x2 - m6*x1*x3)/(m4*x1 - m4*x2 + m6*x2 - m6*x3)}

%% Cell type:markdown id:b3c5a7f7 tags:

# case 2: 2 sltn 1

<img src="./plots/layout_583_paper.png" alt="description" width="600"/>

%% Cell type:code id:eaab5374 tags:

``` python
cb1 = m1*x1 + m6*x6 - m2*x2
mb1 = m1 + m6 - m2

cb2 = m2*x2 - m3*x3 - m4*x6
mb2 = m2 - m3 - m4

sub_dict = {}
sub_dict["m2"] = sy.solve(mb2, m2)
assert len(sub_dict["m2"]) == 1
sub_dict["m2"] = sub_dict["m2"][0]
sub_dict["m3"] = sy.solve(cb2.subs(sub_dict), m3)
assert len(sub_dict["m3"]) == 1
sub_dict["m3"] = sub_dict["m3"][0]

sub_dict["m6"] = sy.solve(mb1.subs(sub_dict), m6)
assert len(sub_dict["m6"]) == 1

sub_dict["m6"] = sub_dict["m6"][0]
sub_dict["m6"]

# sub_dict["x6"] = sy.solve(cb1.subs(sub_dict), x6)
# assert len(sub_dict["x6"]) == 1
# sub_dict["x6"] = sub_dict["x6"][0]


# # solution for x_6/x_5/x_4
# sy.print_latex(sub_dict["x6"])

# sub_dict["x6"][0]
```

%% Output

    $\displaystyle \frac{- m_{1} x_{2} + m_{1} x_{3} - m_{4} x_{3} + m_{4} x_{6}}{x_{2} - x_{3}}$
    (-m1*x2 + m1*x3 - m4*x3 + m4*x6)/(x2 - x3)

%% Cell type:code id:d2708c64 tags:

``` python
sy.print_latex(cb1.subs(sub_dict).factor().collect(x6))
```

%% Output

    \frac{m_{1} x_{1} x_{2} - m_{1} x_{1} x_{3} + m_{4} x_{2} x_{3} + m_{4} x_{6}^{2} + x_{6} \left(- m_{1} x_{2} + m_{1} x_{3} - m_{4} x_{2} - m_{4} x_{3}\right)}{x_{2} - x_{3}}

%% Cell type:code id:0c704bd4 tags:

``` python
cb1.subs(sub_dict).factor().collect(x6)
```

%% Output

    $\displaystyle \frac{m_{1} x_{1} x_{2} - m_{1} x_{1} x_{3} + m_{4} x_{2} x_{3} + m_{4} x_{6}^{2} + x_{6} \left(- m_{1} x_{2} + m_{1} x_{3} - m_{4} x_{2} - m_{4} x_{3}\right)}{x_{2} - x_{3}}$
    (m1*x1*x2 - m1*x1*x3 + m4*x2*x3 + m4*x6**2 + x6*(-m1*x2 + m1*x3 - m4*x2 - m4*x3))/(x2 - x3)

%% Cell type:code id:1ba23cb5 tags:

``` python
```

%% Cell type:markdown id:03eeff2f tags:

# case 3: 2 sltn 2

<img src="./plots/layout_583_paper.png" alt="description" width="600"/>

%% Cell type:code id:d1640c11 tags:

``` python
cb1 = m1*x1 + m6*x6 - m2*x2
mb1 = m1 + m6 - m2

cb2 = m2*x2 - m3*x3 - m4*x6
mb2 = m2 - m3 - m4

sub_dict = {}
sub_dict["m2"] = sy.solve(mb2, m2)
assert len(sub_dict["m2"]) == 1
sub_dict["m2"] = sub_dict["m2"][0]
sub_dict["m3"] = sy.solve(cb2.subs(sub_dict), m3)
assert len(sub_dict["m3"]) == 1
sub_dict["m3"] = sub_dict["m3"][0]

sub_dict["m6"] = sy.solve(mb1.subs(sub_dict), m6)
assert len(sub_dict["m6"]) == 1

sub_dict["m6"] = sub_dict["m6"][0]
sub_dict["m6"]

# sub_dict["x6"] = sy.solve(cb1.subs(sub_dict), x6)
# assert len(sub_dict["x6"]) == 1
# sub_dict["x6"] = sub_dict["x6"][0]


# # solution for x_6/x_5/x_4
# sy.print_latex(sub_dict["x6"])

# sub_dict["x6"][0]
```

%% Output

    $\displaystyle \frac{- m_{1} x_{2} + m_{1} x_{3} - m_{4} x_{3} + m_{4} x_{6}}{x_{2} - x_{3}}$

%% Cell type:code id:7b4ecb97 tags:

``` python
sy.print_latex(cb1.subs(sub_dict).factor().collect(x6))
```

%% Output

    \frac{m_{1} x_{1} x_{2} - m_{1} x_{1} x_{3} + m_{4} x_{2} x_{3} + m_{4} x_{6}^{2} + x_{6} \left(- m_{1} x_{2} + m_{1} x_{3} - m_{4} x_{2} - m_{4} x_{3}\right)}{x_{2} - x_{3}}

%% Cell type:code id:5cf6fd36 tags:

``` python
cb1.subs(sub_dict).factor().collect(x6)
```

%% Output

    $\displaystyle \frac{m_{1} x_{1} x_{2} - m_{1} x_{1} x_{3} + m_{4} x_{2} x_{3} + m_{4} x_{6}^{2} + x_{6} \left(- m_{1} x_{2} + m_{1} x_{3} - m_{4} x_{2} - m_{4} x_{3}\right)}{x_{2} - x_{3}}$