Definition at line 925 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 972 of file matpol.cc.
973{
976
984 {
988 {
991 {
993 }
994 }
995 }
996}
static poly p_Copy(poly p, const ring r)
returns a copy of p
◆ ~mp_permmatrix()
mp_permmatrix::~mp_permmatrix |
( |
| ) |
|
Definition at line 998 of file matpol.cc.
999{
1001
1003 {
1007 {
1011 }
1012 }
1013}
#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 1098 of file matpol.cc.
1099{
1101
1104 else
1107 {
1110 {
1112 j2 = 0;
1113 while (
qcol[j2] !=
j) j2++;
1115 }
1116 }
1117}
◆ mpColSwap()
void mp_permmatrix::mpColSwap |
( |
int |
j1, |
|
|
int |
j2 |
|
) |
| |
|
private |
Definition at line 1071 of file matpol.cc.
1072{
1075
1079 {
1083 }
1084}
◆ mpColWeight()
void mp_permmatrix::mpColWeight |
( |
float * |
wcol | ) |
|
|
private |
Definition at line 1017 of file matpol.cc.
1018{
1022
1024 {
1028 {
1032 }
1034 }
1035}
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 1244 of file matpol.cc.
1245{
1246 poly piv, elim, q1, q2, *
ap, *a;
1248
1252 {
1256 {
1259 {
1263 {
1266 {
1270 }
1271 }
1272 else if (a[jj] !=
NULL)
1273 {
1275 }
1278 a[jj] = q2;
1279 }
1281 }
1282 else
1283 {
1285 {
1288 {
1293 a[jj] = q2;
1294 }
1295 }
1296 }
1297 }
1298}
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 1159 of file matpol.cc.
1160{
1162 int i,
j, iopt, jopt;
1163 float sum, f1, f2, fo, r, ro, lp;
1164 float *dr = C->
wrow, *dc = C->
wcol;
1165
1166 fo = 1.0e20;
1167 ro = 0.0;
1168 iopt = jopt = -1;
1169
1173 return 0;
1175 {
1177 {
1180 {
1182 if (f1 < fo)
1183 {
1184 fo = f1;
1185 if (iopt >= 0)
1188 }
1189 else
1191 }
1192 }
1193 if (iopt >= 0)
1195 return 0;
1196 }
1199 sum = 0.0;
1203 {
1207 {
1210 {
1212 ro = r - lp;
1213 f1 = ro * (dc[
j]-lp);
1214 if (f1 != 0.0)
1215 {
1216 f2 = lp * (sum - ro - dc[
j]);
1217 f2 += f1;
1218 }
1219 else
1221 if (f2 < fo)
1222 {
1223 fo = f2;
1226 }
1227 }
1228 }
1229 }
1230 if (iopt < 0)
1231 return 0;
1234 return 1;
1235}
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 1119 of file matpol.cc.
1120{
1122
1125 else
1128 {
1131 {
1133 i2 = 0;
1134 while (
qrow[i2] !=
i) i2++;
1136 }
1137 }
1138}
◆ mpRowSwap()
void mp_permmatrix::mpRowSwap |
( |
int |
i1, |
|
|
int |
i2 |
|
) |
| |
|
private |
Definition at line 1056 of file matpol.cc.
1057{
1060
1063 for (
j=
a_n-1;
j>= 0;
j--)
1064 {
1068 }
1069}
◆ mpRowWeight()
void mp_permmatrix::mpRowWeight |
( |
float * |
wrow | ) |
|
|
private |
Definition at line 1036 of file matpol.cc.
1037{
1041
1043 {
1047 {
1051 }
1053 }
1054}
◆ 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: