ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/optimisation/src/elig.h
Revision: 199
Committed: Tue Jul 21 15:00:12 2009 UTC (15 years, 9 months ago) by picher
Content type: text/plain
File size: 8830 byte(s)
Log Message:
Projet d'optimisation

File Contents

# Content
1 // (c) 2006 Jean-Marc DROUET/OptiS ********************************** elig.h * >
2 //
3 // 22-06-2006
4 //
5 //******************************************************************************
6
7 #ifndef eligh
8 #define eligh
9
10 #include<math.h>
11 #include<stdlib.h>
12
13 #include "bib_0000.h"
14 #include "bib_m000.h"
15 //#include "mae.h"
16
17 //******************************************************************************
18 // types globaux du module elig
19
20 //******************************************************************************
21 // constantes globales du module elig
22
23 //******************************************************************************
24 // variables globales du module elig
25
26 //******************************************************************************
27 //
28 // conditionnement de la diagonale de la matrice des coefficients
29 //
30 // on échange les lignes A pour qu'aucun élément de la diagonale soit nul
31 // h
32
33 ty_RSLT condi_diag2_v1( vifl *_A , // matrice des coefficients [A]
34 vifl *_b1 , // vecteur {b} no 1
35 vifl *_b2 , // vecteur {b} no 2
36 ulong _n ); // taille du système
37
38 //******************************************************************************
39 //
40 // conditionnement de la diagonale de la matrice des coefficients
41 //
42 // on élimine les lignes et les colonnes pour lesquelles lélément de la
43 // diagonale est nul (on réduit la taille du système)
44 // >
45
46 ty_RSLT condi_diag2_v2( vifl *_A , // matrice des coefficients [A]
47 vifl *_b1 , // vecteur {b} no 1
48 vifl *_b2 , // vecteur {b} no 2
49 ulong _n , // taille initiale du système
50 ulong *_nf ); // taille finale du système
51
52 //******************************************************************************
53 //
54 // échange de colonnes
55 // h
56
57 ty_RSLT echC( vifl *_M ,
58 ulong _nbr_L ,
59 ulong _nbr_C ,
60 ulong _no_C1 ,
61 ulong _no_C2 );
62
63 //******************************************************************************
64 //
65 // échange de lignes
66 // h
67
68 ty_RSLT ech_lignes( vifl *_M , // matrice concernée
69 ulong _nbr_colonnes , // nbre de colonnes
70 ulong _no_ligne_1 , // no de la 1ère ligne à échanger (base 1)
71 ulong _no_ligne_2 ); // no de la 1e ligne à échanger (base 1)
72
73 //******************************************************************************
74 //
75 // élimination d'une colonne
76 // h
77
78 ty_RSLT elim_colonne( vifl *_M , // matrice concernée
79 ulong _nbr_lignes , // nbre de lignes
80 ulong _nbr_colonnes , // nbre de colonnes
81 ulong _no_colonne ); // no de la colonne à éliminer (base 1)
82
83 //******************************************************************************
84 //
85 // élimination d'une ligne
86 // h
87
88 ty_RSLT elim_ligne( vifl *_M , // matrice concernée
89 ulong _nbr_lignes , // nbre de lignes
90 ulong _nbr_colonnes , // nbre de colonnes
91 ulong _no_ligne ); // no de la ligne à éliminer (base 1)
92
93 //******************************************************************************
94 //
95 // résolution de Ax=b par l'élimination de Gauss (pas d'échanges)
96 // h
97
98 ty_RSLT elig( vifl *_A , // matrice des coefficients [A]
99 vifl *_b , // vecteur {b}
100 ulong _n , // taille du système
101 vifl *_x ); // vecteur solution {x}
102
103 //******************************************************************************
104 //
105 // résolution de Ax=b par l'élimination de Gauss (pas d'échanges)
106 //
107 // donne 2 vecteurs solution {x} pour 2 vecteurs {b}
108 // h
109
110 ty_RSLT elig2( vifl *_A , // matrice des coefficients [A]
111 vifl *_b1 , // vecteur {b} no 1
112 vifl *_b2 , // vecteur {b} no 2
113 ulong _n , // taille du système
114 vifl *_x1 , // vecteur solution {x} no 1
115 vifl *_x2 ); // vecteur solution {x} no 2
116
117 //******************************************************************************
118 //
119 // résolution de Ax=b par l'élimination de Gauss (avec échanges de lignes)
120 //
121 // donne 2 vecteurs solution {x} pour 2 vecteurs {b}
122 // h
123
124 ty_RSLT elig2_v2( vifl *_A , // matrice des coefficients [A]
125 vifl *_b1 , // vecteur {b} no 1
126 vifl *_b2 , // vecteur {b} no 2
127 ulong _n , // taille du système
128 vifl *_x1 , // vecteur solution {x} no 1
129 vifl *_x2 ); // vecteur solution {x} no 2
130
131 //******************************************************************************
132 //
133 // résolution de Ax=b par l'élimination de Gauss (pas d'échanges)
134 // h
135
136 ty_RSLT elig_32x387( vifl *_A , // matrice des coefficients [A]
137 vifl *_b , // vecteur {b}
138 ulong _n , // taille du système
139 vifl *_x ); // vecteur solution {x}
140
141 ty_RSLT elig_32x387_v2( vifl *_A , // matrice des coefficients [A]
142 vifl *_b , // vecteur {b}
143 ulong _n , // taille du système
144 vifl *_x ); // vecteur solution {x}
145
146 ty_RSLT elig_32x387_v3( vifl *_A , // matrice des coefficients [A]
147 vifl *_b , // vecteur {b}
148 ulong _n , // taille du système
149 vifl *_x ); // vecteur solution {x}
150
151 //******************************************************************************
152 //
153 // résolution de Ax=b (linéaire) par l'éli. de Gauss (pivot total)
154 // h
155
156 //ty_RSLT elig_PT(vifl *_A, vifl *_b, ulong _n, vifl *_x);
157
158 // (c) 2006 Jean-Marc DROUET/OptiS ********************************** elig.h * <
159
160 #endif

Properties

Name Value
svn:executable