# Revision history [back]

### Why solve function can't solve system of which can be solved

This returns nothing

reset();
var('i_B10 i_B6 i_B11 i_C10 i_C6 i_C11 beta i_in i_out i_E10 i_E6 i_E11');
solve([
i_C10==i_B10*beta,
i_E10==i_C10+i_B10,

i_C6==i_B6*beta,
i_E6==i_B6+i_C6,

i_C11==i_B11*beta,
i_E11==i_B11+i_C11,

i_E10==i_B11+i_E6,

i_E11+i_E6==i_in+i_out,

i_B11==i_B6,
i_in==i_B10+i_C11,
i_out==i_C10

], i_out)

[]

But it can be solved manually

reset();
var('i_B10 i_B6 i_B11 i_C10 i_C6 i_C11 beta i_in i_out i_E10 i_E6 i_E11');

i_C10=i_B10*beta
i_E10=i_C10+i_B10
i_C6=i_B6*beta
i_E6=i_B6+i_C6
i_C11=i_B11*beta
i_E11=i_B11+i_C11
i_B10=(i_E10==i_B11+i_E6).solve(i_B10)[0].right()
i_B10=i_B10(i_B11=i_B6)
i_C10=i_C10(i_B10=i_B10)
i_B6=solve(i_in==i_B10+i_C11(i_B11=i_B6), i_B6)[0].right()
i_out=i_C10(i_B6=i_B6)

i_out=i_out.simplify_rational()
i_out

(beta^2 + 2beta)i_in/(beta^2 + 2*beta + 2)

Why "solve" doesn't work? Do I need to set some assumptions or etc? Or is because i_out depends only on one variable? How to make "solve" function work in this case?

### Why solve function can't solve system of which can be solved

This returns nothing

reset();
var('i_B10 i_B6 i_B11 i_C10 i_C6 i_C11 beta i_in i_out i_E10 i_E6 i_E11');
solve([
i_C10==i_B10*beta,
i_E10==i_C10+i_B10,

i_C6==i_B6*beta,
i_E6==i_B6+i_C6,

i_C11==i_B11*beta,
i_E11==i_B11+i_C11,

i_E10==i_B11+i_E6,

i_E11+i_E6==i_in+i_out,

i_B11==i_B6,
i_in==i_B10+i_C11,
i_out==i_C10

], i_out)

[]

But it can be solved manually

reset();
var('i_B10 i_B6 i_B11 i_C10 i_C6 i_C11 beta i_in i_out i_E10 i_E6 i_E11');

i_C10=i_B10*beta
i_E10=i_C10+i_B10
i_C6=i_B6*beta
i_E6=i_B6+i_C6
i_C11=i_B11*beta
i_E11=i_B11+i_C11
i_B10=(i_E10==i_B11+i_E6).solve(i_B10)[0].right()
i_B10=i_B10(i_B11=i_B6)
i_C10=i_C10(i_B10=i_B10)
i_B6=solve(i_in==i_B10+i_C11(i_B11=i_B6), i_B6)[0].right()
i_out=i_C10(i_B6=i_B6)

i_out=i_out.simplify_rational()
i_out

(beta^2 + 2beta)i_in/(beta^2 + 2*beta + 2)

Why "solve" doesn't work? Do I need to set some assumptions or etc? Or is because i_out depends only on one variable? How to make "solve" function work in this case?

 3 None slelievre 17654 ●22 ●160 ●348 http://carva.org/samue...

### Why solve function can't solve system of which can be solvedsolved manually

This returns nothing

reset();
an empty list:

reset()
var('i_B10 i_B6 i_B11 i_C10 i_C6 i_C11 beta i_in i_out i_E10 i_E6 i_E11');
i_E11')
solve([
i_C10==i_B10*beta,
i_E10==i_C10+i_B10,

i_C6==i_B6*beta,
i_E6==i_B6+i_C6,

i_C11==i_B11*beta,
i_E11==i_B11+i_C11,

i_E10==i_B11+i_E6,

i_E11+i_E6==i_in+i_out,

i_B11==i_B6,
i_in==i_B10+i_C11,
i_out==i_C10
i_C10 == i_B10 * beta,
i_E10 == i_C10 + i_B10,

i_C6 == i_B6 * beta,
i_E6 == i_B6 + i_C6,

i_C11 == i_B11 * beta,
i_E11 == i_B11 + i_C11,

i_E10 == i_B11 + i_E6,

i_E11 + i_E6 == i_in + i_out,

i_B11 == i_B6,
i_in == i_B10 + i_C11,
i_out == i_C10

], i_out)

[]

Output:

[]

But it can be solved manually

reset();
reset()
var('i_B10 i_B6 i_B11 i_C10 i_C6 i_C11 beta i_in i_out i_E10 i_E6 i_E11');

i_C10=i_B10*beta
i_E10=i_C10+i_B10
i_C6=i_B6*beta
i_E6=i_B6+i_C6
i_C11=i_B11*beta
i_E11=i_B11+i_C11
i_B10=(i_E10==i_B11+i_E6).solve(i_B10)[0].right()
i_B10=i_B10(i_B11=i_B6)
i_C10=i_C10(i_B10=i_B10)
i_B6=solve(i_in==i_B10+i_C11(i_B11=i_B6), i_E11')

i_C10 = i_B10 * beta
i_E10 = i_C10 + i_B10
i_C6 = i_B6 * beta
i_E6 = i_B6 + i_C6
i_C11 = i_B11 * beta
i_E11 = i_B11 + i_C11
i_B10 = (i_E10 == i_B11 + i_E6).solve(i_B10)[0].right()
i_B10 = i_B10(i_B11=i_B6)
i_C10 = i_C10(i_B10=i_B10)
i_B6 = solve(i_in == i_B10 + i_C11(i_B11=i_B6), i_B6)[0].right()
i_out=i_C10(i_B6=i_B6)

i_out=i_out.simplify_rational()
i_out = i_C10(i_B6=i_B6)

i_out = i_out.simplify_rational()
i_out

Output:

(beta^2 + 2beta)i_in/(beta^2 2*beta)*i_in/(beta^2 + 2*beta + 2)

2)

Why "solve" solve doesn't work? Do I need to set some assumptions or etc? etc? Or is because i_out depends only on one variable? variable? How to make "solve" function work in this case?