Ralf, after your commit tests in 'ideal.input.pamphlet' fail.

Explicit package calling can resolve the problem.

Attached is a patch that would make ideal.input run without problems on trunk@1329.

The question is whether we want to solve the problem in this way or revert my resent commits.

I am rather for package calling since I believe that my commits actually fixed an issue of incompatible types in SPAD. The problem is in the interpreter, methinks.

In a SPAD program one has to import from IdealDecompositionPackage anyway (or package call). In the interpreter it's a nuisance to juggle with the types, but in this case I think, it's a minor one and as in some other places one can simply argue that the interpreter doesn't understand what the user wants and thus a package call is necessary to help the interpreter.

May I commit the attached patch?

Ralf

(1) -> )r ideal.input
--Copyright The Numerical Algorithms Group Limited 1994.
)clear all

   All user variables and function definitions have been cleared.

(n,m) : List DMP([x,y],FRAC INT)


Type: Void
m := [x^2+y^2-1]


          2    2
   (2)  [x  + y  - 1]
Type: List(DistributedMultivariatePolynomial([x,y],Fraction(Integer)))
n := [x^2-y^2]


          2    2
   (3)  [x  - y ]
Type: List(DistributedMultivariatePolynomial([x,y],Fraction(Integer)))
id := ideal m + ideal n


          2   1  2   1
   (4)  [x  - -,y  - -]
              2      2
Type: PolynomialIdeal(Fraction(Integer),DirectProduct(2,NonNegativeInteger),OrderedVariableList([x,y]),DistributedMultivariatePolynomial([x,y],Fraction(Integer)))
zeroDim? id


   (5)  true
Type: Boolean
zeroDim?(ideal m)


   (6)  false
Type: Boolean
dimension ideal m


   (7)  1
Type: PositiveInteger
(f,g):DMP([x,y],FRAC INT)


Type: Void
f := x^2-1


         2
   (9)  x  - 1
Type: DistributedMultivariatePolynomial([x,y],Fraction(Integer))
g := x*(x^2-1)


          3
   (10)  x  - x
Type: DistributedMultivariatePolynomial([x,y],Fraction(Integer))
relationsIdeal [f,g]


              2     3     2          2          3
   (11)  [- %B  + %A  + %A ] | [%A= x  - 1,%B= x  - x]
Type: SuchThat(List(Polynomial(Fraction(Integer))),List(Equation(Polynomial(Fraction(Integer)))))
l: List DMP([x,y,z],FRAC INT)


Type: Void
l:=[x^2+2*y^2,x*z^2-y*z,z^2-4]


           2     2    2        2
   (13)  [x  + 2y ,x z  - y z,z  - 4]
Type: List(DistributedMultivariatePolynomial([x,y,z],Fraction(Integer)))
ID3==>IdealDecompositionPackage([x,y,z])


Type: Void
ld:=primaryDecomp(ideal l)$ID3


               1    2             1    2
   (15)  [[x + - y,y ,z + 2],[x - - y,y ,z - 2]]
               2                  2
Type: List(PolynomialIdeal(Fraction(Integer),DirectProduct(3,NonNegativeInteger),OrderedVariableList([x,y,z]),DistributedMultivariatePolynomial([x,y,z],Fraction(Integer))))
reduce(intersect,ld)


              1      2  2
   (16)  [x - - y z,y ,z  - 4]
              4
Type: PolynomialIdeal(Fraction(Integer),DirectProduct(3,NonNegativeInteger),OrderedVariableList([x,y,z]),DistributedMultivariatePolynomial([x,y,z],Fraction(Integer)))
reduce(intersect,[radical(ld.i)$ID3 for i in 1..2])


               2
   (17)  [x,y,z  - 4]
Type: PolynomialIdeal(Fraction(Integer),DirectProduct(3,NonNegativeInteger),OrderedVariableList([x,y,z]),DistributedMultivariatePolynomial([x,y,z],Fraction(Integer)))
radical(ideal l)$ID3


               2
   (18)  [x,y,z  - 4]
Type: PolynomialIdeal(Fraction(Integer),DirectProduct(3,NonNegativeInteger),OrderedVariableList([x,y,z]),DistributedMultivariatePolynomial([x,y,z],Fraction(Integer)))
quotient(ideal l,y)


               2
   (19)  [x,y,z  - 4]
Type: PolynomialIdeal(Fraction(Integer),DirectProduct(3,NonNegativeInteger),OrderedVariableList([x,y,z]),DistributedMultivariatePolynomial([x,y,z],Fraction(Integer)))
(20) ->

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

diff --git a/src/input/ideal.input.pamphlet b/src/input/ideal.input.pamphlet
index 18b6d38..a6fbce0 100644
--- a/src/input/ideal.input.pamphlet
+++ b/src/input/ideal.input.pamphlet
@@ -30,10 +30,11 @@ g := x*(x^2-1)
 relationsIdeal [f,g]
 l: List DMP([x,y,z],FRAC INT)
 l:=[x^2+2*y^2,x*z^2-y*z,z^2-4]
-ld:=primaryDecomp ideal l
+ID3==>IdealDecompositionPackage([x,y,z])
+ld:=primaryDecomp(ideal l)$ID3
 reduce(intersect,ld)
-reduce(intersect,[radical ld.i for i in 1..2])
-radical ideal l
+reduce(intersect,[radical(ld.i)$ID3 for i in 1..2])
+radical(ideal l)$ID3
 quotient(ideal l,y)
 @
 \eject

Reply via email to