Aller au contenu

Mathc complexes/Fichiers c : ctranspose

Un livre de Wikilivres.

Application

Installer et compiler ce fichier dans votre répertoire de travail.

ctranspose.c
/* ------------------------------------ */
/*  Save as :  ctranspose.c             */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r,int c)
{
double **A   =          r_mZ(   i_mZ(r,c),9);
double **A_t = ctranspose_mZ(A, i_mZ(c,r));

  clrscrn();
  printf(" A \n");
  p_mZ(A, S5,P0, S4,P0,C6);

  printf("\n A^t  (ctranspose_mZ)\n");
  p_mZ(A_t, S5,P0, S4,P0,C6);

  f_mZ(A);
  f_mZ(A_t);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
  do 
         fun(rp_I(R6),rp_I(C6));
        
    while(stop_w());

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


La fonction ctranspose_mZ() qui échange les lignes et les colonnes et qui prend le conjuguer.


Exemple de sortie écran :

    A 

   +6  +6i    +8  -7i    +4  +2i    -7  +6i    +2  +2i 
   +2  +4i    +8  +8i    -9  +6i    -9  -9i    -5  -9i 
   -1  +6i    -1  +6i    +4  -7i    -9  -3i    +2  +4i 


 A^t  (ctranspose_mZ)

   +6  -6i    +2  -4i    -1  -6i 
   +8  +7i    +8  -8i    -1  -6i 
   +4  -2i    -9  -6i    +4  +7i 
   -7  -6i    -9  +9i    -9  +3i 
   +2  -2i    -5  +9i    +2  -4i 


 Press return to continue
 Press X      to stop