Mathc matrices/h17b
Apparence
Installer ce fichier dans votre répertoire de travail.
vgj1tp.h |
|---|
/* ------------------------------------ */
/* Save as : vgj1tp.h */
/* ------------------------------------ */
/* ------------------------------------ */
double **GJ_TP_PivotBest_mR(
double **Ab
)
{
int r= R1;
while(r<Ab[R_SIZE][C0])
{
if(fabs(pivotbest_gj1Ab_mR(Ab,r))>ERROR_E)
zero_under_pivot_gj1Ab_mR(Ab,r);
r++;
}
return(Ab);
}
/* ------------------------------------ */
/* ------------------------------------ */
double **GJ_TP_mR(
double **Ab
)
{
double **A;
if(Ab[R_SIZE][C0] == Ab[C_SIZE_A][C0])
{
A = i_RC_mR(Ab[R_SIZE][C0],Ab[C_SIZE_A][C0]);
c_Ab_A_mR(Ab,A);
if(det_R(A)) GJ_TP_PivotBest_mR(Ab);
f_mR(A);
}
else if(Ab[R_SIZE][C0] < Ab[C_SIZE_A][C0])
{
A = i_RC_mR(Ab[R_SIZE][C0],Ab[R_SIZE][C0]);
c_Ab_subArxr_mR(Ab,A);
if(det_R(A)) GJ_TP_PivotBest_mR(Ab);
f_mR(A);
}
else if(Ab[R_SIZE][C0] > Ab[C_SIZE_A][C0])
{
printf("\n Error : GJ_TP_mR();\n");
printf("\n The number of colums\n");
printf("\n must be superior or egal\n");
printf("\n to the number of rows\n");
printf("\n Press return to continue.\n");
fflush(stdout);
getchar();
exit(EXIT_FAILURE);
}
return(Ab);
}
/* ------------------------------------ */
/* ------------------------------------ */
double **GJ_TP_FreeV_mR(
double **Ab,
double **new_Ab)
{
int r;
c_mR(Ab,new_Ab);
put_freeV_TP_mR(new_Ab,Ab[R_SIZE][C0]);
r = rsize_R(new_Ab);
while(r>R1)
zero_above_pivot_gj1Ab_mR(new_Ab,r--);
return(new_Ab);
}
/* ------------------------------------ */
/* ------------------------------------ */