- Timestamp:
- Mar 6, 2012, 10:35:56 AM (12 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 4e6d2aac480d2946ef572d24bd5dd72906cf1e57
- Parents:
- 51aa1628bc6d045fbc3a9adf018acd4371a09596
- git-author:
- Martin Lee <martinlee84@web.de>2012-03-06 10:35:56+01:00
- git-committer:
- Martin Lee <martinlee84@web.de>2012-04-04 14:42:26+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facBivar.h
r51aa162 r2fbb9e6 83 83 vec_ZZ S; 84 84 F= compress (F, M, S); 85 CFList result= biFactorize (F, v); 86 for (CFListIterator i= result; i.hasItem(); i++) 87 i.getItem()= N (decompress (i.getItem(), M, S)); 85 Variable tmp1, tmp2; 86 CanonicalForm mipoTmp1; 87 bool substAlgVar= false; 88 if (v.level() != 1) 89 { 90 mipoTmp1= getMipo (v); 91 if (!bCommonDen (getMipo (v)).isOne()) 92 { 93 tmp2= v; 94 mipoTmp1 *= bCommonDen (mipoTmp1); 95 mipoTmp1= replacevar (mipoTmp1, v, Variable (1)); 96 tmp1= rootOf (mipoTmp1); 97 F= replacevar (F, tmp2, tmp1); 98 substAlgVar= true; 99 } 100 else 101 tmp1= v; 102 } 103 else 104 tmp1= v; 105 CFList result= biFactorize (F, tmp1); 106 if (substAlgVar) 107 { 108 for (CFListIterator i= result; i.hasItem(); i++) 109 i.getItem()= N (decompress (replacevar (i.getItem(), tmp1, tmp2), M, S)); 110 } 111 else 112 { 113 for (CFListIterator i= result; i.hasItem(); i++) 114 i.getItem()= N (decompress (i.getItem(), M, S)); 115 } 88 116 for (CFFListIterator i= contentXFactors; i.hasItem(); i++) 89 117 result.append (N(i.getItem().factor())); … … 188 216 vec_ZZ S; 189 217 F= compress (F, M, S); 218 Variable tmp1, tmp2; 219 CanonicalForm mipoTmp1; 220 bool substAlgVar= false; 221 if (v.level() != 1) 222 { 223 mipoTmp1= getMipo (v); 224 if (!bCommonDen (getMipo (v)).isOne()) 225 { 226 tmp2= v; 227 mipoTmp1 *= bCommonDen (mipoTmp1); 228 mipoTmp1= replacevar (mipoTmp1, v, Variable (1)); 229 tmp1= rootOf (mipoTmp1); 230 F= replacevar (F, tmp2, tmp1); 231 substAlgVar= true; 232 } 233 else 234 tmp1= v; 235 } 236 else 237 tmp1= v; 190 238 CFFList sqrfFactors= sqrFree (F); 191 239 for (CFFListIterator i= sqrfFactors; i.hasItem(); i++) 192 240 { 193 CFList tmp= ratBiSqrfFactorize (i.getItem().factor(), v); 194 for (CFListIterator j= tmp; j.hasItem(); j++) 195 { 196 if (j.getItem().inCoeffDomain()) continue; 197 result.append (CFFactor (N (decompress (j.getItem(), M, S)), i.getItem().exp())); 241 CFList tmp= ratBiSqrfFactorize (i.getItem().factor(), tmp1); 242 if (substAlgVar) 243 { 244 for (CFListIterator j= tmp; j.hasItem(); j++) 245 { 246 if (j.getItem().inCoeffDomain()) continue; 247 result.append (CFFactor (N (decompress (replacevar (j.getItem(), 248 tmp1, tmp2), M, S)), i.getItem().exp())); 249 } 250 } 251 else 252 { 253 for (CFListIterator j= tmp; j.hasItem(); j++) 254 { 255 if (j.getItem().inCoeffDomain()) continue; 256 result.append (CFFactor (N (decompress (j.getItem(), M, S)), 257 i.getItem().exp())); 258 } 198 259 } 199 260 }
Note: See TracChangeset
for help on using the changeset viewer.