// factorisation QR, méthode de Givens

Aini=A,
U=eye(n,n)
for p=1:n-1 // annulatin des coeff de la colonne p
   for q=p+1:n // annulation du coeff A(q,p)
      norme = sqrt(A(p,p)^2+A(q,p)^2)
      if norme ==0 then c=1, s=0,
         else c=A(p,p)/norme, s=A(q,p)/norme,
      end,
      A([p,q],:)=[c,s;-s,c]* A([p,q],:), // nouvelle matrice A
      U([p,q],:)=[c,s;-s,c]* U([p,q],:), // nouvelle matrice U
   end,
end,
Q=U'
R=A

Q*R, Q*R-Aini

// n=2, A=[3 -1;4 7]
// n=3, A=[3 1 -49;-4 7 -43;0 12 13 ]   voir Q*65
// n=3, A=[9 -29 20;12 3 -15;-20 20 0 ]   voir Q*25
// n=3,A=[60 7 103;80 176 179;-75 -15 65]

// résultats //////////////////////////////////////////////////////////

 n  = 2.  
 A  =
!   3.  - 1. !
!   4.    7. !

 norme  = 5.  
 c  = 0.6  
 s  = 0.8  
 A  =
!   5.    5. !
!   0.    5. !
 U  =
!   0.6    0.8 !
! - 0.8    0.6 !
 
-->Q=U'
!   0.6  - 0.8 !
!   0.8    0.6 !
 
-->R=A
!   5.    5. !
!   0.    5. !
 
-->Q*R, Q*R-Aini
!   3.  - 1. !
!   4.    7. !
 
!   0.  - 4.441E-16 !
!   0.    0.        !
 
////////////////////////////////////////////////////////////////////////

 n  = 3.  
 A  =
!   3.    1.   - 49. !
! - 4.    7.   - 43. !
!   0.    12.    13. !
 
 norme  = 5.  
 c  = 0.6  
 s  = - 0.8  
 A  =
!   5.  - 5.     5.  !
!   0.    5.   - 65. !
!   0.    12.    13. !
 U  =
!   0.6  - 0.8    0. !
!   0.8    0.6    0. !
!   0.     0.     1. !
 norme  = 5.  
 c  = 1.  
 s  = 0.  
 A  =
!   5.  - 5.     5.  !
!   0.    5.   - 65. !
!   0.    12.    13. !
 U  =
!   0.6  - 0.8    0. !
!   0.8    0.6    0. !
!   0.     0.     1. !
 norme  = 13.  
 c  = 0.3846154  
 s  = 0.9230769  
 A  =
!   5.  - 5.     5.  !
!   0.    13.  - 13. !
!   0.    0.     65. !
 U  =
!   0.6        - 0.8          0.        !
!   0.3076923    0.2307692    0.9230769 !
! - 0.7384615  - 0.5538462    0.3846154 !
 
Q=U'
!   0.6    0.3076923  - 0.7384615 !
! - 0.8    0.2307692  - 0.5538462 !
!   0.     0.9230769    0.3846154 !
 
R=A 
!   5.  - 5.     5.  !
!   0.    13.  - 13. !
!   0.    0.     65. !
 
Q*65
!   39.    20.  - 48. !
! - 52.    15.  - 36. !
!   0.     60.    25. !
 
Q*R
!   3.    1.   - 49. !
! - 4.    7.   - 43. !
!   0.    12.    13. !
 
Q*R-Aini
!   0.    4.441E-16    0.        !
!   0.    0.         - 7.105E-15 !
!   0.    0.           0.        !
 
////////////////////////////////////////////////////////////////////

 n  = 3.  
 A  =
!   9.   - 29.    20. !
!   12.    3.   - 15. !
! - 20.    20.    0.  !
 
 norme  = 15.  
 c  = 0.6  
 s  = 0.8  
 A  =
!   15.  - 15.    0.  !
!   0.     25.  - 25. !
! - 20.    20.    0.  !
 U  =
!   0.6    0.8    0. !
! - 0.8    0.6    0. !
!   0.     0.     1. !
 norme  = 25.  
 c  = 0.6  
 s  = - 0.8  
 A  =
!   25.  - 25.    0.  !
!   0.     25.  - 25. !
!   0.     0.     0.  !
 U  =
!   0.36    0.48  - 0.8 !
! - 0.8     0.6     0.  !
!   0.48    0.64    0.6 !
 norme  = 25.  
 c  = 1.  
 s  = - 4.441E-17  
 A  =
!   25.  - 25.    0.  !
!   0.     25.  - 25. !
!   0.     0.     0.  !
 U  =
!   0.36    0.48  - 0.8 !
! - 0.8     0.6     0.  !
!   0.48    0.64    0.6 !
 
Q=U'
!   0.36  - 0.8    0.48 !
!   0.48    0.6    0.64 !
! - 0.8     0.     0.6  !
 
R=A
!   25.  - 25.    0.  !
!   0.     25.  - 25. !
!   0.     0.     0.  !
 
Q*25
!   9.   - 20.    12. !
!   12.    15.    16. !
! - 20.    0.     15. !
 
Q*R
!   9.   - 29.    20. !
!   12.    3.   - 15. !
! - 20.    20.    0.  !
 
Q*R-Aini
!   0.    0.    0.        !
!   0.    0.  - 1.776E-15 !
!   0.    0.    0.        !

/////////////////////////////////////////////////////////

n  = 3.  
 A  =
!   60.    7.      103. !
!   80.    176.    179. !
! - 75.  - 15.     65.  !
 
 norme  = 100.  
 c  = 0.6  
 s  = 0.8  
 A  =
!   100.    145.    205. !
!   0.      100.    25.  !
! - 75.   - 15.     65.  !
 U  =
!   0.6    0.8    0. !
! - 0.8    0.6    0. !
!   0.     0.     1. !
 norme  = 125.  
 c  = 0.8  
 s  = - 0.6  
 A  =
!   125.    125.    125. !
!   0.      100.    25.  !
!   0.      75.     175. !
 U  =
!   0.48    0.64  - 0.6 !
! - 0.8     0.6     0.  !
!   0.36    0.48    0.8 !
 norme  = 125.  
 c  = 0.8  
 s  = 0.6  
 A  =
!   125.    125.    125. !
!   0.      125.    125. !
!   0.      0.      125. !
 U  =
!   0.48     0.64   - 0.6  !
! - 0.424    0.768    0.48 !
!   0.768    0.024    0.64 !
 Q  =
!   0.48  - 0.424    0.768 !
!   0.64    0.768    0.024 !
! - 0.6     0.48     0.64  !
Q*125 =
!   60.  - 53.    96. !
!   80.    96.    3.  !
! - 75.    60.    80. !
 R  =
!   125.    125.    125. !
!   0.      125.    125. !
!   0.      0.      125. !
-->Q*R
!   60.    7.      103. !
!   80.    176.    179. !
! - 75.  - 15.     65.  !
 Q*R-Aini 
!   0.         - 1.066E-14    1.421E-14 !
!   1.421E-14    2.842E-14    2.842E-14 !
!   0.           3.553E-15    1.421E-14 !

