next up previous contents
Next: Integration Up: Continuation 1D Previous: Missed branches   Contents

Example

Let consider the system:

\begin{eqnarray*}
&&x^2-(y-1)^2+z^2-1=0\\
&&x^2-y^3=0
\end{eqnarray*}

The purpose of this example is to write the points of the branches of this system in files whose name is BRANCH followed by the branch number. The main file is written as:
 
#include "Functions.h"
#include "Vector.h"
#include "IntervalVector.h"
#include "IntervalMatrix.h"
#include "IntegerMatrix.h"
#include "header_Solve_General_Interval.h"
#include "header_Utilities_Interval.h"
double z;
//F,J,H are the equation, jacobian and hessian procedures
#include "F.C"
#include "J.C"
#include "H.C"

int main()
{
MATRIX BRANCH;
INTERVAL RANGE;
int NUM,i,j,NB_BRANCH;
char texte[400];
double delta=0.05;
double min_delta=1.e-6;
double mindz=1.e-4;
ostream out;

int Nb_Var=2;
int Nb_Eq=2;
Domain(1)=INTERVAL(-100,100);
Domain(2)=INTERVAL(-100,100);
RANGE=INTERVAL(0.2);
NUM=ALIAS_Full_Continuation(Nb_Var,Nb_Eq,F,J,H,Domain,1.e-6,1.e-6,&z,
	delta,min_delta,mindz,RANGE,1,BRANCH,&NB_BRANCH);

//order the branch and write the result in the file
for(i =1;i<=NUM;i++)
     {
       sprintf(texte,"BRANCH%d",i);
       out.open(texte,ios::out);
       for(j =1;j<=NB_BRANCH;j++)
          {
           if(BRANCH(j,Nb_Var+2)!=i)continue;
           out<<BRANCH(j,1)<<" "<<BRANCH(j,2)<<" "<<BRANCH(j,3)<<endl;
          }
      out.close();
      }
}



Jean-Pierre Merlet 2012-12-20