# Exact solution of linear system with Symbolics

**URL:** <https://discourse.julialang.org/t/exact-solution-of-linear-system-with-symbolics/75718>\
**Category:** General Usage\
**Tags:** symbolics\
**Created:** [February 3, 2022, 10:33am UTC](https://discourse.julialang.org/t/exact-solution-of-linear-system-with-symbolics/75718 "2022-02-03T10:33:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [February 3, 2022, 10:33am UTC](https://discourse.julialang.org/t/exact-solution-of-linear-system-with-symbolics/75718/1 "2022-02-03T10:33:21Z")

</div>

How can I get an exact solution to a linear system using Symbolics.jl? For example:

```julia
@variables x y
Symbolics.solve_for([x + y ~ 2,
                     x - y ~ 1],
                    [x, y])

# Result:
2-element Vector{Float64}:
 1.5
 0.5

```

I would expect fractions 3/2 and 1/2.

For comparison, with SymPy.jl I get

```julia
@vars x y
solve([x + y ⩵ 2,
       x - y ⩵ 1])

# Result:
Dict{Any, Any} with 2 entries:
  y => 1/2
  x => 3/2

```

---

<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 3, 2022, 11:38am UTC](https://discourse.julialang.org/t/exact-solution-of-linear-system-with-symbolics/75718/2 "2022-02-03T11:38:41Z")

</div>

yeah open an issue. If you make that `2//1` and `1//1` does it come out rational?

---

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [February 3, 2022, 1:37pm UTC](https://discourse.julialang.org/t/exact-solution-of-linear-system-with-symbolics/75718/3 "2022-02-03T13:37:51Z")

</div>

In that particular case it makes no difference, but in other cases using rational literals indeed gives rational outputs. Sometimes I also get a mix of both. See details in [this issue](https://github.com/JuliaSymbolics/Symbolics.jl/issues/524).
