# Solving a system of equations symbolically

**URL:** <https://discourse.julialang.org/t/solving-a-system-of-equations-symbolically/110141>\
**Category:** New to Julia\
**Created:** [February 13, 2024, 10:14am UTC](https://discourse.julialang.org/t/solving-a-system-of-equations-symbolically/110141 "2024-02-13T10:14:58Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![skvibimigger](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/skvibimigger/32/206989_2.png) [@skvibimigger](https://discourse.julialang.org/u/skvibimigger)\
**Post date:** [February 13, 2024, 10:14am UTC](https://discourse.julialang.org/t/solving-a-system-of-equations-symbolically/110141/1 "2024-02-13T10:14:58Z")

</div>

I need to solve a system of equations.  
Everything works until the part where I want to solve for the coefficients which I have stored in the vector a:  
Is there a way to solve for these coefficients?

My script is the following:

```julia
using SymPy
using Symbolics

@variables a₁ a₂ a₃ a₄ L x
a = [a₁,a₂,a₃,a₄]

phi = 0;
for i in axes(a,1)
        phi = phi + a[i]*x^(i-1)
end

phid = Symbolics.derivative(phi, x)

# Defining the equations
equ1 = [substitute(phi, x => 0) => 1, # phi(0)=1
             substitute(phi, x => L) => 0, # phi(L)=0
             substitute(phid, x => 0) => 0, # dphi(0)=0
             substitute(phid, x => L) => 0] # dphi(L)=0

# The part that does not work!!::
# Solve for a₁ a₂ a₃ a₄
# sol1 = solve(equ1, a)
# sol1.a₁
# sol1.a₂
# sol1.a₃
# sol1.a₄

# Next step
# Substitute coefficients into phi
phi_t1 = substitute(phi, a => [sol1.a₁,sol1.a₂,sol1.a₃,sol1.a₄])

```

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [February 13, 2024, 10:55am UTC](https://discourse.julialang.org/t/solving-a-system-of-equations-symbolically/110141/2 "2024-02-13T10:55:57Z")

</div>

Not with Symbolics.jl yet. Use SymPy.jl for this for now.

---

<div class="post-metadata">

**Author:** ![skvibimigger](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/skvibimigger/32/206989_2.png) [@skvibimigger](https://discourse.julialang.org/u/skvibimigger)\
**Post date:** [February 13, 2024, 11:02am UTC](https://discourse.julialang.org/t/solving-a-system-of-equations-symbolically/110141/3 "2024-02-13T11:02:33Z")

</div>

Thank you for your response!  
How would you then solve it using SymPy.jl?

---

<div class="post-metadata">

**Author:** ![j\_verzani](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/j_verzani/32/8551_2.png) [@j\_verzani](https://discourse.julialang.org/u/j_verzani)\
**Post date:** [February 13, 2024, 12:14pm UTC](https://discourse.julialang.org/t/solving-a-system-of-equations-symbolically/110141/4 "2024-02-13T12:14:17Z")

</div>

Not very different than what you have:

```julia
using SymPy
@syms a[1:4] L x
phi = zero(x)
for i ∈ axes(a,1)
    phi = phi + a[i] * x^(i-1)
end

phid = diff(phi, x)
equ1 = (phi(x => 0) ~ 1,
        phi(x => L) ~ 0,
        phid(x => 0) ~ 0,
        phid(x => L) ~ 0)

solve(equ1, a)

```
