Definition at line 918 of file matpol.cc.
◆ mp_permmatrix() [1/3]
mp_permmatrix::mp_permmatrix |
( |
| ) |
|
|
inline |
◆ mp_permmatrix() [2/3]
mp_permmatrix::mp_permmatrix |
( |
matrix |
A, |
|
|
ring |
R |
|
) |
| |
◆ mp_permmatrix() [3/3]
Definition at line 965 of file matpol.cc.
966{
969
977 {
981 {
984 {
986 }
987 }
988 }
989}
static poly p_Copy(poly p, const ring r)
returns a copy of p
◆ ~mp_permmatrix()
mp_permmatrix::~mp_permmatrix |
( |
| ) |
|
Definition at line 991 of file matpol.cc.
992{
994
996 {
1000 {
1004 }
1005 }
1006}
#define omFreeSize(addr, size)
static void p_Delete(poly *p, const ring r)
◆ mpColAdr()
poly * mp_permmatrix::mpColAdr |
( |
int |
c | ) |
|
|
inlineprivate |
◆ mpColReorder()
void mp_permmatrix::mpColReorder |
( |
| ) |
|
Definition at line 1091 of file matpol.cc.
1092{
1094
1097 else
1100 {
1103 {
1105 j2 = 0;
1106 while (
qcol[j2] !=
j) j2++;
1108 }
1109 }
1110}
◆ mpColSwap()
void mp_permmatrix::mpColSwap |
( |
int |
j1, |
|
|
int |
j2 |
|
) |
| |
|
private |
Definition at line 1064 of file matpol.cc.
1065{
1068
1072 {
1076 }
1077}
◆ mpColWeight()
void mp_permmatrix::mpColWeight |
( |
float * |
wcol | ) |
|
|
private |
Definition at line 1010 of file matpol.cc.
1011{
1015
1017 {
1021 {
1025 }
1027 }
1028}
static float mp_PolyWeight(poly p, const ring r)
int status int void size_t count
◆ mpDelElem()
void mp_permmatrix::mpDelElem |
( |
int |
, |
|
|
int |
|
|
) |
| |
◆ mpElimBareiss()
void mp_permmatrix::mpElimBareiss |
( |
poly |
div | ) |
|
Definition at line 1237 of file matpol.cc.
1238{
1239 poly piv, elim, q1, q2, *
ap, *a;
1241
1245 {
1249 {
1252 {
1256 {
1259 {
1263 }
1264 }
1265 else if (a[jj] !=
NULL)
1266 {
1268 }
1271 a[jj] = q2;
1272 }
1274 }
1275 else
1276 {
1278 {
1281 {
1286 a[jj] = q2;
1287 }
1288 }
1289 }
1290 }
1291}
static poly p_Neg(poly p, const ring r)
static poly p_Add_q(poly p, poly q, const ring r)
◆ mpGetCdim()
int mp_permmatrix::mpGetCdim |
( |
| ) |
|
|
inline |
◆ mpGetCol()
int mp_permmatrix::mpGetCol |
( |
| ) |
|
◆ mpGetElem()
poly mp_permmatrix::mpGetElem |
( |
int |
r, |
|
|
int |
c |
|
) |
| |
◆ mpGetRdim()
int mp_permmatrix::mpGetRdim |
( |
| ) |
|
|
inline |
◆ mpGetRow()
int mp_permmatrix::mpGetRow |
( |
| ) |
|
◆ mpGetSign()
int mp_permmatrix::mpGetSign |
( |
| ) |
|
|
inline |
◆ mpInitMat()
void mp_permmatrix::mpInitMat |
( |
| ) |
|
|
private |
◆ mpPivotBareiss()
Definition at line 1152 of file matpol.cc.
1153{
1155 int i,
j, iopt, jopt;
1156 float sum, f1, f2, fo, r, ro, lp;
1157 float *dr = C->
wrow, *dc = C->
wcol;
1158
1159 fo = 1.0e20;
1160 ro = 0.0;
1161 iopt = jopt = -1;
1162
1166 return 0;
1168 {
1170 {
1173 {
1175 if (f1 < fo)
1176 {
1177 fo = f1;
1178 if (iopt >= 0)
1181 }
1182 else
1184 }
1185 }
1186 if (iopt >= 0)
1188 return 0;
1189 }
1192 sum = 0.0;
1196 {
1200 {
1203 {
1205 ro = r - lp;
1206 f1 = ro * (dc[
j]-lp);
1207 if (f1 != 0.0)
1208 {
1209 f2 = lp * (sum - ro - dc[
j]);
1210 f2 += f1;
1211 }
1212 else
1214 if (f2 < fo)
1215 {
1216 fo = f2;
1219 }
1220 }
1221 }
1222 }
1223 if (iopt < 0)
1224 return 0;
1227 return 1;
1228}
void mpColWeight(float *)
void mpRowWeight(float *)
static void mpReplace(int j, int n, int &sign, int *perm)
◆ mpPivotRow()
◆ mpRowAdr()
poly * mp_permmatrix::mpRowAdr |
( |
int |
r | ) |
|
|
inlineprivate |
◆ mpRowReorder()
void mp_permmatrix::mpRowReorder |
( |
| ) |
|
Definition at line 1112 of file matpol.cc.
1113{
1115
1118 else
1121 {
1124 {
1126 i2 = 0;
1127 while (
qrow[i2] !=
i) i2++;
1129 }
1130 }
1131}
◆ mpRowSwap()
void mp_permmatrix::mpRowSwap |
( |
int |
i1, |
|
|
int |
i2 |
|
) |
| |
|
private |
Definition at line 1049 of file matpol.cc.
1050{
1053
1056 for (
j=
a_n-1;
j>= 0;
j--)
1057 {
1061 }
1062}
◆ mpRowWeight()
void mp_permmatrix::mpRowWeight |
( |
float * |
wrow | ) |
|
|
private |
Definition at line 1029 of file matpol.cc.
1030{
1034
1036 {
1040 {
1044 }
1046 }
1047}
◆ mpSaveArray()
void mp_permmatrix::mpSaveArray |
( |
| ) |
|
|
inline |
◆ mpSetElem()
void mp_permmatrix::mpSetElem |
( |
poly |
, |
|
|
int |
, |
|
|
int |
|
|
) |
| |
◆ mpSetSearch()
void mp_permmatrix::mpSetSearch |
( |
int |
s | ) |
|
◆ mpToIntvec()
void mp_permmatrix::mpToIntvec |
( |
intvec * |
| ) |
|
◆ _R
◆ a_m
◆ a_n
◆ piv_s
◆ qcol
int * mp_permmatrix::qcol |
|
private |
◆ qrow
◆ s_m
◆ s_n
◆ sign
◆ Xarray
poly* mp_permmatrix::Xarray |
|
private |
The documentation for this class was generated from the following file: