axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] [#103 solve(z=z, z) ] Patch should be for exquo, not p


From: anonymous
Subject: [Axiom-developer] [#103 solve(z=z, z) ] Patch should be for exquo, not primitivePart
Date: Thu, 17 Feb 2005 12:21:06 -0600

??changed:
-This should return '[ ]' as in (1)
<pre>[Anonymous user:]</pre><br>
This should return [ ] as in (1)

??changed:
-From kratt6 Thu Feb 17 07:35:54 -0600 2005
-From: kratt6
-Date: Thu, 17 Feb 2005 07:35:54 -0600
<pre>[Martin Rubey (kratt6) Thu Feb 17 07:35:54 -0600 2005

??changed:
-Message-ID: <address@hidden>
Message-ID: <address@hidden>]</pre>

++added:


??changed:
-From kratt6 Thu Feb 17 07:49:05 -0600 2005
-From: kratt6
-Date: Thu, 17 Feb 2005 07:49:05 -0600
<pre>[Martin Rubey (kratt6) Thu Feb 17 07:49:05 -0600 2005

??changed:
-Message-ID: <address@hidden>
Message-ID: <address@hidden>]</pre>

??changed:
-From unknown Thu Feb 17 10:44:08 -0600 2005
-From: 
<pre>[William Sit, Thu Feb 17 10:44:08 -0600 2005] 

??changed:
-Subject: 
-Message-ID: <address@hidden>
</pre>

??changed:
-From unknown Thu Feb 17 10:54:28 -0600 2005
-From: 
-Date: Thu, 17 Feb 2005 10:54:28 -0600
<pre>[unknown Thu Feb 17 10:54:28 -0600 2005

??changed:
-In-Reply-To: <address@hidden>
-
-
In-Reply-To: <address@hidden>]</pre>


<hr><br>
<pre>[William Sit]</pre>

Martin, thanks for pointing out the source. However, I think the error is not 
in 'primitivePart', but in 'exquo'. There are two cases:

\begin{axiom}
p:=0::POLY INT
exquo(p,content p)
exquo(p, content(p,v))
\end{axiom}

Description: 'exquo(a,b)' either returns an element 'c' such that 'c*b=a' or 
'"failed"' if no such element can be found. The '"failed"' case is intended for 
the situation when 'b' does not divide 'a' exactly.
So 'exquo(p,content p)' which is 'exquo(0,0)' returns '0' is ok, but 
'exquo(p,content(p,v))' returns "failed" is wrong. Ironically, it is because 
the second exquo tested 'b' (whether it is zero) and returned '"failed"' that 
caused the problem. In catdef.spad, 'EuclideanDomain', 'exquo' is implemented 
as:

<pre>
     x exquo y ==
       zero? y => "failed"
       ...
</pre>

This should be:

<pre>
     x exquo y ==
+       zero? x => 0
-       zero? y => "failed"
        ...
</pre>

Compare this with implementation for the first 'exquo' in polycat.spad: 'FAMR'

<pre>
     x exquo y ==
       zero? x => 0
       ...
</pre>


--
forwarded from http://page.axiom-developer.org/zope/mathaction/address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]