I have simplified the equations and decrease the variables to 5, and changed the parameters' value as I think the equations in enter link description here is because of the improper parameters' value.

and new codes are as this:

equa={(AmI[1] - BmI[1]/R3^2) CmI[1] == k1 u0, 
 R3 AmI[1] DmI[1] == (BmI[1] DmI[1])/R3, 
 (AmI[1] - BmI[1]/R2^2) CmI[1] == (R1^(-((2 π)/β))
    R2^(-((π + β)/β)) (R1^((2 π)/β) - R2^((2 π)/β)) β Aki[1]* 
    (Sin[thetai] + Sin[thetai + β]))/(-π^2 + β^2), 
 (AmI[1] - BmI[1]/R2^2) DmI[1] == (R1^(-((2 π)/β))
    R2^(-((π + β)/β)) (R1^((2 π)/β) - R2^((2 π)/β)) β Aki[1]* 
    (Cos[thetai] + Cos[thetai + β]))/(π^2 - β^2), 
 Aki[1] == -((2 β (R2^2 AmI[1] + BmI[1]) ((Cos[thetai] + Cos[thetai + β]) DmI[1] - 
      CmI[1] (Sin[thetai] + Sin[thetai + β])))/(R2 (π - β) (π + β)))}

system = equa;

vars = {AmI[1], BmI[1], CmI[1], DmI[1], Aki[1]};
parameters = {u0 -> 4*π*10^(-7), R1 -> 4/100, R2 -> 7/100, 
  R3 -> 8/100, β -> π/4, k1 -> (11/10)^5, L -> 0.1, 
  N1 -> 50, K -> 50, thetai -> π/6};
givenPoint = {{AmI[1], 0.1}, {BmI[1], 0.1}, {CmI[1], 0.1}, 
  {DmI[1], 0.1}, {Aki[1], 0.1 + I}};

NMinimize[# . # &[equa /. Equal -> Subtract /. parameters], vars]

{1.53176*10^-12, {AmI[1] -> -1.75396*10^-6, BmI[1] -> 8.53681*10^-9, CmI[1] -> -0.410309, DmI[1] -> 0.317123, Aki[1] -> 2.23402*10^-13}}

And it seems that the object is approximate to 0, however it is not 0, so I cannot get the solution by Solve.

The most important question is how to analyze this nonlinear equations mathematically with 5 variables? For example using MatrixRank or other functions to make sure in which condition the equations will and will not have solution.

I do not know if it is effective to use MatrixRank for nonlinear equations.

By the way, I do not know which of vars should be real and which complex and maybe the initial values are improper.

  • $\begingroup$ From your 2nd equation AmI==BmI/R3^2 With that your 1st equation is 0==k1*u0==(11/10)^5*4*π*10^(-7) and that is False $\endgroup$
    – Bill
    Jul 6, 2022 at 4:43
  • $\begingroup$ Do you know which of vars should be real and which complex? $\endgroup$ Jul 6, 2022 at 8:50
  • $\begingroup$ So MatrixRank is not useful for nonlinear equations, but your system is polynomial, and one can use GroebnerBasis to conclusively check if there are (complex) solutions. You can use a generic command such as Solve and Reduce but then it may be less clear what they do in the background. But GroebnerBasis has a clear definition. See here for examples, in particular under "Scope" the example "no common roots". See also weak Nullstellensatz. $\endgroup$
    – user293787
    Jul 6, 2022 at 10:23
  • $\begingroup$ @Bill The 2nd equation can alternatively be satisfied by DmI == 0. The whole system may still not have a solution, I have not checked. $\endgroup$
    – user293787
    Jul 6, 2022 at 10:27
  • $\begingroup$ Thanks @user293787 If DmI==0 and thus the second equation is True then Simplify shows the 4th equation is Aki==0 and the system is again False $\endgroup$
    – Bill
    Jul 6, 2022 at 14:15

2 Answers 2


Try Reduce to analyze the nonlinear equations:

Reduce[equa /. parameters, vars]
(* False*)

The result confirms @Bill's helpful comment!


1, Surely even if DmI[1]=0 and Aki[1]=0, there is still one equation that cannot satisfy.

2, I have tried to change the first 2 equations,

 (AmI[1] - BmI[1]/R3^2) CmI[1] == k1 u0,    
          R3 AmI[1] DmI[1] - (BmI[1] DmI[1])/R3==0, 

Even make k1 u0=0 and therefore the first 2 eqautions are equal to 0 respectively, there is no solution.

3, Changing the first 2 eqautions to

(AmI[1] - BmI[1]/R3^2) CmI[1] == C1, 
          R3 AmI[1] DmI[1] - (BmI[1] DmI[1])/R3==C2,

and C1is not equal to 0, C2is not equal to 0, there is still no solution.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.