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

# User Rev Content
1 picher 199 // (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