Changeset b1c0a9 in git for kernel/sca.cc
- Timestamp:
- Apr 8, 2009, 7:21:58 PM (14 years ago)
- Branches:
- (u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
- Children:
- 7e676255a90b5015b1bc8fb6430bdaffe6ea7a81
- Parents:
- a7541b59e5f1a2bdd1a3d8749700ceb15bb5b7a7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/sca.cc
ra7541b5 rb1c0a9 7 7 * Author: motsak (Oleksandr Motsak) 8 8 * Created: 2006/12/18 9 * Version: $Id: sca.cc,v 1.3 5 2009-04-03 19:10:36motsak Exp $9 * Version: $Id: sca.cc,v 1.36 2009-04-08 17:21:58 motsak Exp $ 10 10 *******************************************************************/ 11 11 … … 1720 1720 /*set enterS, spSpolyShort, reduce, red, initEcart, initEcartPair*/ 1721 1721 // ?? set spSpolyShort, reduce ??? 1722 initBuchMora(tempF, tempQ, strat); // tempQ = Q -squares!!!1722 initBuchMora(tempF, tempQ, strat); // tempQ = Q without squares!!! 1723 1723 1724 1724 // if (strat->minim>0) strat->M = idInit(IDELEMS(F),F->rank); … … 1749 1749 /////////////////////////////////////////////////////////////// 1750 1750 // SCA: 1751 1752 // due to std( SB, p). 1753 // Note that after initBuchMora :: initSSpecial all these additional 1754 // elements are in S and T (and some pairs are in L, which also has no initiall 1755 // elements!!!) 1756 if(TEST_OPT_SB_1) 1757 { 1758 // For all additional elements... 1759 for (int iNewElement = strat->newIdeal; iNewElement < IDELEMS(tempF); iNewElement++) 1760 { 1761 const poly pSave = tempF->m[iNewElement]; 1762 1763 if( pSave != NULL ) 1764 { 1765 // tempF->m[iNewElement] = NULL; 1766 1767 const poly p_next = pNext(pSave); 1768 1769 if(p_next != NULL) 1770 for( unsigned int i = m_iFirstAltVar; i <= m_iLastAltVar; i++ ) 1771 if( p_GetExp(pSave, i, currRing) != 0 ) 1772 { 1773 assume(p_GetExp(pSave, i, currRing) == 1); 1774 1775 const poly p_new = sca_pp_Mult_xi_pp(i, p_next, currRing); 1776 1777 #ifdef PDEBUG 1778 p_Test(p_new, currRing); 1779 #endif 1780 1781 if( p_new == NULL) continue; 1782 1783 LObject h(p_new); // h = x_i * strat->P 1784 1785 if (TEST_OPT_INTSTRATEGY) 1786 h.pCleardenom(); // also does a pContent 1787 else 1788 h.pNorm(); 1789 1790 strat->initEcart(&h); 1791 h.sev = pGetShortExpVector(h.p); 1792 1793 int pos = 0; 1794 1795 if (strat->Ll != -1) 1796 pos = strat->posInL(strat->L,strat->Ll,&h,strat); 1797 1798 enterL(&strat->L,&strat->Ll,&strat->Lmax,h,pos); 1799 } 1800 1801 } 1802 1803 } 1804 } 1805 1806 1807 1751 1808 1752 1809 /* compute------------------------------------------------------- */ … … 1914 1971 if (TEST_OPT_INTSTRATEGY) 1915 1972 { 1916 pContent(h.p); 1973 // pContent(h.p); 1974 h.pCleardenom(); // also does a pContent 1917 1975 } 1918 1976 else … … 1924 1982 h.sev = pGetShortExpVector(h.p); 1925 1983 1926 int pos; 1927 if (strat->Ll==-1) 1928 pos =0; 1929 else 1984 int pos = 0; 1985 1986 if (strat->Ll != -1) 1930 1987 pos = strat->posInL(strat->L,strat->Ll,&h,strat); 1931 1988 … … 2121 2178 #endif 2122 2179 2123 int srmax;2124 int lrmax = 0;2125 int olddeg = 0;2126 int reduc = 0;2127 int red_result = 1;2128 // int hilbeledeg=1;2129 int hilbcount=0;2130 2180 2131 2181 strat->update = TRUE; … … 2159 2209 } 2160 2210 #endif 2161 2162 srmax = strat->sl; 2211 strat->use_buckets = kMoraUseBucket(strat); 2212 2163 2213 kTest_TS(strat); 2164 2214 2165 strat->use_buckets = kMoraUseBucket(strat); 2215 2216 int srmax = strat->sl; 2217 int lrmax = strat->Ll; 2218 int olddeg = 0; 2219 int reduc = 0; 2220 int red_result = 1; 2221 // int hilbeledeg=1; 2222 int hilbcount=0; 2223 2224 2166 2225 /*- compute-------------------------------------------*/ 2167 2226 … … 2172 2231 // kStratInitChangeTailRing(strat); 2173 2232 #endif 2233 2234 2235 2236 2237 2238 // due to std( SB, p) 2239 if(TEST_OPT_SB_1) 2240 { 2241 for (int iNewElement = strat->newIdeal; iNewElement < IDELEMS(tempF); iNewElement++) 2242 { 2243 2244 const poly pSave = tempF->m[iNewElement]; 2245 2246 if( pSave != NULL ) 2247 { 2248 // tempF->m[iNewElement] = NULL; 2249 2250 const poly p_next = pNext(pSave); 2251 2252 if(p_next != NULL) 2253 for( unsigned int i = m_iFirstAltVar; i <= m_iLastAltVar; i++ ) 2254 if( p_GetExp(pSave, i, currRing) != 0 ) 2255 { 2256 2257 assume(p_GetExp(pSave, i, currRing) == 1); 2258 2259 const poly p_new = sca_pp_Mult_xi_pp(i, p_next, currRing); 2260 2261 #ifdef PDEBUG 2262 p_Test(p_new, currRing); 2263 #endif 2264 2265 if( p_new == NULL) continue; 2266 2267 LObject h(p_new); // h = x_i * strat->P 2268 2269 if (TEST_OPT_INTSTRATEGY) 2270 h.pCleardenom(); // also does a pContent 2271 else 2272 h.pNorm(); 2273 2274 strat->initEcart(&h); 2275 h.sev = pGetShortExpVector(h.p); 2276 2277 int pos = 0; 2278 2279 if (strat->Ll != -1) 2280 pos = strat->posInL(strat->L,strat->Ll,&h,strat); 2281 2282 enterL(&strat->L,&strat->Ll,&strat->Lmax,h,pos); 2283 2284 if (strat->Ll>lrmax) lrmax = strat->Ll; 2285 } 2286 2287 } 2288 2289 } 2290 } 2291 2292 2174 2293 2175 2294 … … 2309 2428 h.sev = pGetShortExpVector(h.p); 2310 2429 2311 int pos; 2312 2313 if (strat->Ll==-1) 2314 pos = 0; 2315 else 2430 int pos = 0; 2431 2432 if (strat->Ll != -1) 2316 2433 pos = strat->posInL(strat->L,strat->Ll,&h,strat); 2317 2434
Note: See TracChangeset
for help on using the changeset viewer.