wu.log 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. Codemist Standard Lisp 3.54 for DEC Alpha: May 23 1994
  2. Dump file created: Mon May 23 10:39:11 1994
  3. REDUCE 3.5, 15-Oct-93 ...
  4. Memory allocation: 6023424 bytes
  5. +++ About to read file tstlib.red
  6. % wu.tst
  7. % Russell Bradford, 8 June 90.
  8. % Some tests for the Wu algorithm
  9. % The order directives are not necessary for general use: they just
  10. % help tie things down for testing purposes.
  11. % run after loading Wu code: in "wu.red"$
  12. % test 1
  13. order x,y,a,b;
  14. wu({x^2+y^2-a,x*y-b}, {x,y});
  15. 4 2 2
  16. {{{ - y + y *a - b , - x*y + b},
  17. y}}
  18. % test 2
  19. order x,y,a,b;
  20. wu({x^2+y^2-a,x*y-b},{x,y,a,b});
  21. 2
  22. {{{b,y, - x + a},1},
  23. 4 2 2
  24. {{ - y + y *a - b , - x*y + b},
  25. y}}
  26. % test 3
  27. order x,y,z,r;
  28. wu({x^2+y^2+z^2-r^2, x*y+z^2-1, x*y*z-x^2-y^2-z+1}, {x,y,z});
  29. 3 2 2
  30. {{{z - z + r - 1,
  31. 4 2 2 2 2 2 2 2
  32. - y - y *z + y *r + z + z*r - z + r - 2,
  33. 2
  34. x*y + z - 1},
  35. y},
  36. 7 6 5 4 2 4 3 2 2 2 2
  37. {{z - z - 2*z + z *r + z + z - 2*z *r + z + r - 1,
  38. 2 3 2 2
  39. y *(z - z + r - 1),
  40. 2
  41. x*y + z - 1},
  42. 3 2 2
  43. y*(z - z + r - 1)}}
  44. % test 4
  45. order x,y,z,r;
  46. wu({x^2+y^2+z^2-r^2, x*y+z^2-1, x*y*z-x^2-y^2-z+1}, {x,y,z,r});
  47. 3 2 2
  48. {{{z - z + r - 1,
  49. 4 2 2 2 2 2 2 2
  50. - y - y *z + y *r + z + z*r - z + r - 2,
  51. 2
  52. x*y + z - 1},
  53. y},
  54. 4 2
  55. {{r - 4*r + 3,
  56. 2
  57. z + r - 2,
  58. y,
  59. 2 2
  60. - x + r - 1},
  61. 1},
  62. 7 6 5 4 2 4 3 2 2 2 2
  63. {{z - z - 2*z + z *r + z + z - 2*z *r + z + r - 1,
  64. 2 3 2 2
  65. y *(z - z + r - 1),
  66. 2
  67. x*y + z - 1},
  68. 3 2 2
  69. y*(z - z + r - 1)}}
  70. % test 5
  71. order x,y,z;
  72. wu({(x-1)*(y-1)*(z-1), (x-2)*(y-2)*(z-2), (x-3)*(y-3)*(z-3)}, {x,y,z});
  73. 2
  74. {{{z - 5*z + 6,
  75. 2 2
  76. 2*(y *z - 3*y - 4*y*z + 12*y + 3*z - 9),
  77. x*y*z - 3*x*y - 3*x*z + 9*x - 3*y*z + 9*y + 9*z - 27},
  78. 2 2
  79. 2*(y*z - 6*y*z + 9*y - 3*z + 18*z - 27)},
  80. {{z - 3,y - 2,2*(x - 1)},2},
  81. 2
  82. {{z - 3,2*(y - 3*y + 2),x*y - 2*x - 2*y + 4},
  83. 2*(y - 2)},
  84. {{2*(z - 3),2*(y - 2),4*(x - 1)},16},
  85. 2
  86. {{2*(z - 3),4*(y - 3*y + 2),2*(x*y - 2*x - 2*y + 4)},
  87. 16*(y - 2)},
  88. 2
  89. {{z - 5*z + 6,
  90. y*z - 3*y - 3*z + 9,
  91. 2*(x*z - 3*x - z + 3)},
  92. 2
  93. 2*(z - 6*z + 9)},
  94. 3 2
  95. {{2*(z - 6*z + 11*z - 6),
  96. y*z - 3*y - 3*z + 9,
  97. 2 2
  98. x*z - 5*x*z + 6*x - 2*z + 10*z - 12},
  99. 3 2
  100. 2*(z - 8*z + 21*z - 18)},
  101. 3 2
  102. {{4*(z - 6*z + 11*z - 6),
  103. 2 2 2 2 2 2
  104. y *z - 5*y *z + 6*y - 5*y*z + 25*y*z - 30*y + 6*z - 30*z + 36,
  105. x*y*z - 3*x*y - 3*x*z + 9*x - 3*y*z + 9*y + 9*z - 27},
  106. 3 2 3 2
  107. 4*(y*z - 8*y*z + 21*y*z - 18*y - 3*z + 24*z - 63*z + 54)}}
  108. % test 6
  109. order x,y,z;
  110. wu({(x-1)*(y-1)*(z-1), (x-2)*(y-2)*(z-2), (x-3)*(y-3)*(z-3)});
  111. 2
  112. {{{z - 5*z + 6,
  113. 2 2
  114. 2*(y *z - 3*y - 4*y*z + 12*y + 3*z - 9),
  115. x*y*z - 3*x*y - 3*x*z + 9*x - 3*y*z + 9*y + 9*z - 27},
  116. 2 2
  117. 2*(y*z - 6*y*z + 9*y - 3*z + 18*z - 27)},
  118. {{z - 3,y - 2,2*(x - 1)},2},
  119. 2
  120. {{z - 3,2*(y - 3*y + 2),x*y - 2*x - 2*y + 4},
  121. 2*(y - 2)},
  122. {{2*(z - 3),2*(y - 2),4*(x - 1)},16},
  123. 2
  124. {{2*(z - 3),4*(y - 3*y + 2),2*(x*y - 2*x - 2*y + 4)},
  125. 16*(y - 2)},
  126. 2
  127. {{z - 5*z + 6,
  128. y*z - 3*y - 3*z + 9,
  129. 2*(x*z - 3*x - z + 3)},
  130. 2
  131. 2*(z - 6*z + 9)},
  132. 3 2
  133. {{2*(z - 6*z + 11*z - 6),
  134. y*z - 3*y - 3*z + 9,
  135. 2 2
  136. x*z - 5*x*z + 6*x - 2*z + 10*z - 12},
  137. 3 2
  138. 2*(z - 8*z + 21*z - 18)},
  139. 3 2
  140. {{4*(z - 6*z + 11*z - 6),
  141. 2 2 2 2 2 2
  142. y *z - 5*y *z + 6*y - 5*y*z + 25*y*z - 30*y + 6*z - 30*z + 36,
  143. x*y*z - 3*x*y - 3*x*z + 9*x - 3*y*z + 9*y + 9*z - 27},
  144. 3 2 3 2
  145. 4*(y*z - 8*y*z + 21*y*z - 18*y - 3*z + 24*z - 63*z + 54)}}
  146. % test 7
  147. order x1,x2,x3,x4;
  148. p1 := x1+x2+x3+x4;
  149. p1 := x1 + x2 + x3 + x4
  150. p2 := x1*x2+x2*x3+x3*x4+x4*x1;
  151. p2 := x1*x2 + x1*x4 + x2*x3 + x3*x4
  152. p3 := x1*x2*x3+x2*x3*x4+x3*x4*x1+x4*x1*x2;
  153. p3 := x1*x2*x3 + x1*x2*x4 + x1*x3*x4 + x2*x3*x4
  154. p4 := x1*x2*x3*x4 - 1;
  155. p4 := x1*x2*x3*x4 - 1
  156. wu({p1,p2,p3,p4}, {x1,x2,x3,x4});
  157. 4
  158. {{{x4*(x4 - 1),
  159. 2
  160. x4 *(x3 - x4),
  161. 2 2 2
  162. x4 *(x2 + 2*x2*x4 + x4 ),
  163. 2
  164. x4 *(x1 + x2 + 2*x4)},
  165. 6
  166. x4 },
  167. 4
  168. {{x4 - 1,
  169. 2
  170. x4 *(x3 - x4),
  171. 2 2
  172. 2*x4*(x2 + 2*x2*x4 + x4 ),
  173. 2
  174. x4 *(x1 + x2 + 2*x4)},
  175. 5
  176. 2*x4 },
  177. 4
  178. {{x4 - 1,
  179. x3 - x4,
  180. 2 2
  181. x2 + 2*x2*x4 + x4 ,
  182. x1 + x2 + 2*x4},
  183. 1},
  184. 4
  185. {{x4 - 1,
  186. 2 2
  187. x3 - x4 ,
  188. 2 3 3
  189. x2*x3*x4 - x2*x4 + x3*x4 - 1,
  190. 2
  191. x1*x3 - x1*x4 - x3*x4 + x4 },
  192. 2 2 2
  193. x4 *(x3 - 2*x3*x4 + x4 )},
  194. 8 4
  195. {{x4 - 2*x4 + 1,
  196. 2 2
  197. x3 - x4 ,
  198. 2 3 3
  199. x2*x3*x4 - x2*x4 + x3*x4 - 1,
  200. 4 4
  201. x1*x4 - x1 + x3*x4 - x3},
  202. 2 4 5
  203. x4 *(x3*x4 - x3 - x4 + x4)},
  204. 2 4
  205. {{x4 *(x4 - 1),
  206. 3
  207. x4 *(x3 - x4),
  208. 3 2 2
  209. x4 *(x2 + 2*x2*x4 + x4 ),
  210. 3
  211. x4 *(x1 + x2 + 2*x4)},
  212. 9
  213. x4 },
  214. 4
  215. {{x4*(x4 - 1),
  216. 3
  217. x4 *(x3 - x4),
  218. 2 2 2
  219. 2*x4 *(x2 + 2*x2*x4 + x4 ),
  220. 3
  221. x4 *(x1 + x2 + 2*x4)},
  222. 8
  223. 2*x4 },
  224. 4
  225. {{x4 - 1,
  226. x4*(x3 - x4),
  227. 2 2
  228. x4*(x2 + 2*x2*x4 + x4 ),
  229. x4*(x1 + x2 + 2*x4)},
  230. 3
  231. x4 },
  232. 4
  233. {{x4*(x4 - 1),
  234. 2 2 2
  235. x4 *(x3 - x4 ),
  236. 2 3 3
  237. x4*(x2*x3*x4 - x2*x4 + x3*x4 - 1),
  238. 2
  239. x4*(x1*x3 - x1*x4 - x3*x4 + x4 )},
  240. 6 2 2
  241. x4 *(x3 - 2*x3*x4 + x4 )},
  242. 8 4
  243. {{x4*(x4 - 2*x4 + 1),
  244. 2 2 2
  245. x4 *(x3 - x4 ),
  246. 2 3 3
  247. x4*(x2*x3*x4 - x2*x4 + x3*x4 - 1),
  248. 4 4
  249. x4*(x1*x4 - x1 + x3*x4 - x3)},
  250. 6 4 5
  251. x4 *(x3*x4 - x3 - x4 + x4)},
  252. 3 2 2 3
  253. {{x3 *x4 + x3 *x4 - x3 - x4,
  254. 2 2 2 3
  255. x2*x3 - x2*x4 + x3 *x4 - x4 ,
  256. 2 2 4 2 3 4
  257. x1*x3 *x4 - x1*x4 - x3 *x4 - x3*x4 + x3 + x4},
  258. 4 4 2 2 4
  259. x4 *(x3 - 2*x3 *x4 + x4 )}}
  260. % test 8
  261. order x,y,z;
  262. wu({z*z,y*z-1,x*z-1}, {x,y,z});
  263. {{{1},1}}
  264. end;
  265. (wu 7633 133)
  266. End of Lisp run after 7.64+0.79 seconds