Question: How to optimize solving process?

I am able to get unlimeted numbers of equations describing my system. These equations are generally relate quotients of multivariate polynomials. Each additional equation I get is generally less than twice the length of the last, and it is not always the case that an equation is independant of the previous equations. Although I can get unlimited numbers of equations describing the system, it is not overdetermined.

I am interested in solving these equations for their variables. There are about 30 cases I am working on, the smallest number of evariables is six, the largest would be twenty.

I want to be able to solve these equations in the minimal time possible. But I don't understand the function solve well enough to do so.

How do I choose the equations to minimise the time taken for the command solve to proccess them?
How does the command solve work?

particularly:

  1. if I process the command solve([Eq1,Eq2,Eq3...Eqn],variables) would the command solve([Eq[1],Eq[2],Eq[3]...Eq[n],Eq[n+1]],variables) take longer if Eq[n+1] is not indipendant of the previous equations? 
  2. Is there a way of checking whether Eq[n+1] is independant of the previous vequations, fast enough for it to be useful to check the equations before they are processed?
  3. Does the ordering of the equations affect the speed of solve?
  4. Is there a way of pre processing the equations before they are put into solve that will save it time? (for example factorising them, simplifying them etc...)

 

 

Please Wait...