0

I am trying to solve a system of 4 equations with four unknows with non define constatnt, but when I run my program in Spyder the consol display ''solution'' without giving the solution. this is what I have

In[54]: runfile('E:/Spyder/eigen_functions.py', wdir='E:/Spyder') Solution: []

Here is my code and I was expecting to have the value of k1, k2, k3 and k4 as function of the other parameters.

from sympy.solvers import solve

from sympy import symbols, Eq

from sympy import exp

k1, k2, k3, k4, x, a, b, d, h, l,t = symbols(" k1 k2 k3 k4 x a b d h l t ") 
equation_1 = Eq((k1*exp(-a*t*1j) + k2*exp(-b*t*1j)+ k3*exp(a*t*1j) + k4*exp(b*t*1j)) ,1)

equation_2 = Eq(((1/(2*l*h*(x+1)))*(-k1*((x**2)-1-2*(a*x)+(d**2)+(l**2)+a**2)*exp(-a*t*1j) -k2*((x**2)-1-2*(b*x)+(d**2)+(l**2)+b**2)*exp(-b*t*1j) -k3*((x**2)-1+2*(a*x)+(d**2)+(l**2)+a**2)*exp(a*t*1j) -k4*((x**2)-1+2*(b*x)+(d**2)+(l**2)+b**2)*exp(b*t*1j))) , 0)

equation_3 = Eq(((1/(2*d*h*l*h*(x+1)))*(-k1*((l**2)*(x+1+a)-(d**2)*(x+1-a)-(x**3)-(x**2)+x+1-a*((x**2)+1+2*x)-(a**2)*(x-1)-a**3)*exp(-a*t*1j) -k2*((l**2)*(x+1+b)-(d**2)*(x+1-b)-(x**3)-(x**2)+x+1-b*((x**2)+1+2*x)-(b**2)*(x-1)-b**3)*exp(-b*t*1j) -k3*((l**2)*(x+1-a)-(d**2)*(x+1+a)-(x**3)-(x**2)+x+1+a*((x**2)+1+2*x)-(a**2)*(x-1)+a**3)*exp(a*t*1j) -k4*((l**2)*(x+1-b)-(d**2)*(x+1+b)-(x**3)-(x**2)+x+1+b*((x**2)+1+2*x)-(b**2)*(x-1)+b**3)*exp(b*t*1j))) ,0)

equation_4 = Eq(((1/(2*d*h*(x+1)))*(-k1*(((d**2)+(l**2)-(a**2)-(x**2)+1+2*a*x))*exp(-a*t*1j) -k2*(((d**2)+(l**2)-(b**2)-(x**2)+1+2*b*x))*exp(-b*t*1j) -k3*(((d**2)+(l**2)-(a**2)-(x**2)+1-2*a*x))*exp(a*t*1j) -k4*(((d**2)+(l**2)-(b**2)-(x**2)+1-2*b*x))*exp(b*t*1j))) , 0)

solution = solve((equation_1, equation_2, equation_3, equation_4), (k1, k2, k3, k4))

print("Solution:", solution)

Here is my code and I was expecting to have the value of k1, k2, k3 and k4 as function of the other parameters.

Lavoisier
  • 1
  • 2

1 Answers1

1

The determinant of the system is 0 so there is not a unique solution.

>>> eqs = [equation_1,equation_2,equation_3,equation_4]
>>> Matrix([i.rewrite(Add) for i in eqs]).jacobian(var("k1:5")).det()
0
smichr
  • 16,948
  • 2
  • 27
  • 34