https://cocoa.dima.unige.it/redmine/https://cocoa.dima.unige.it/redmine/redmine/favicon.ico?15088260392017-03-14T13:00:20ZCoCoA ProjectCoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=56752017-03-14T13:00:20ZJohn Abbott
<ul><li><strong>Subject</strong> changed from <i>IsInRadical: case of homog poly</i> to <i>IsInRadical: case of homog ideal</i></li><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>10</i></li></ul><p>I think that if the ideal <code>I</code> is homog then <code>IsInRadical(f,I)</code> is the same as the logical-and of <code>IsInRadical(f_d,I)</code> for all homog components <code>f_d</code> of <code>f</code>. I do not know whether it is faster to compute it this way... or maybe my maths is wrong?</p> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=56762017-03-14T13:18:41ZAnna Maria Bigatti
<ul></ul><p>John Abbott wrote:</p>
<blockquote>
<p>I think that if the ideal <code>I</code> is homog then <code>IsInRadical(f,I)</code> is the same as the logical-and of <code>IsInRadical(f_d,I)</code> for all homog components <code>f_d</code> of <code>f</code>. I do not know whether it is faster to compute it this way... or maybe my maths is wrong?</p>
</blockquote>
<p>correct: f = f_d + .... (f_d homog of deg d = deg(f)).<br />f^n = (f_d)^n + ... in I implies (f_d)^n in I implies f_d is in radical(I)</p> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=56842017-03-17T10:07:26ZJohn Abbott
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-5 priority-4 priority-default closed" href="/redmine/issues/1032">Bug #1032</a>: IsInRadical: fragile code</i> added</li></ul> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=56882017-03-17T10:17:21ZJohn Abbott
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-5 priority-4 priority-default closed" href="/redmine/issues/1033">Feature #1033</a>: Split poly into homog parts</i> added</li></ul> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=63182017-07-19T17:14:16ZJohn Abbott
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Feedback</i></li><li><strong>Assignee</strong> set to <i>John Abbott</i></li><li><strong>Target version</strong> changed from <i>CoCoALib-1.0</i> to <i>CoCoALib-0.99560</i></li><li><strong>% Done</strong> changed from <i>10</i> to <i>90</i></li></ul><p>The CoCoA-5 package was translated into C++ by some students at Kassel.<br />I have cleaned up the resulting code, and checked it in: see files <strong><code>RadicalMembership</code></strong><br />I have added doc and a test (but no example).<br />I have made the fns available via CoCoA-5; the old package is still there, but I have changed the fn names to avoid clashes. Probably the package should simply be deleted (perhaps after a bit more testing?)</p>
<p>I have added a couple of "heuristic tricks" to <strong><code>IsInRadical</code></strong>, as otherwise computation times can be very long (esp, when the polynomial is not in the radical). The trick is just to see if a generator (or RGB element) is not square-free; if so, add as new generator the "radical" of that generator.</p>
<p>Note that <code>SqFreeFactor</code> can be slow when coeffs are in a finite field (since GCD is still via a GBasis computation); so the trick is not applied to "big" polys.</p> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=63292017-07-22T13:18:03ZJohn Abbott
<ul></ul>I wonder if either of the following ideas could be completed into an algorithm (with reliable output):
<ol>
<li>if the ideal is not 0-dim, adjoin some random linear polys (or linear forms) to the gens possibly making the ideal 0-dim, then test for radical membership. If poly is not in radical of extended ideal, it is surely not in the radical of the original ideal; the other case is less clear.</li>
<li>if ideal is over QQ, try a modular approach; perhaps use <code>MinPowerInIdeal</code> to predict power of original power which ought to be in the original ideal (and then test that power directly).</li>
</ol>
<p>Is it true that every (polynomial) ideal <em>I</em> has an "exponent" <em>exp(I)</em> such that for any polynomial <code>IsInRadical(f,I)</code> iff <code>f^exp(I) IsIn I</code>. I'm not sure how the exponent could be computed.</p> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=65422017-11-10T11:23:17ZJohn Abbott
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>90</i> to <i>100</i></li></ul> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=66372017-11-28T16:56:07ZJohn Abbott
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/redmine/journals/6637/diff?detail_id=7051">diff</a>)</li></ul> CoCoALib - Feature #1030: IsInRadical: case of homog idealhttps://cocoa.dima.unige.it/redmine/issues/1030?journal_id=120892024-02-15T15:13:29ZAnna Maria Bigatti
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-5 priority-5 priority-high3 closed" href="/redmine/issues/1610">Bug #1610</a>: IsInRadical: some more little bugs</i> added</li></ul>