aboutsummaryrefslogtreecommitdiff
path: root/src/input/r21bugs.input.pamphlet
blob: 5ae724890071dc64e54e720fea4bf52deb97bce6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
\documentclass{article}
\usepackage{axiom}
\begin{document}
\title{\$SPAD/src/input r21bugs.input}
\author{Mike Dewar}
\maketitle
\begin{abstract}
\end{abstract}
\eject
\tableofcontents
\eject
\section{License}
<<license>>=
--Copyright The Numerical Algorithms Group Limited 1996.
@
<<*>>=
<<license>>


-- This file tests bugs fixed since release 2.1.
-- Mike Dewar 19-11-96

)clear completely
-- This bug, spotted by Claude Quitte, meant that we generated incorrect
-- expressions for Chebyshev polynomials of the second kind, so that they
-- did not satisfy the recurrence relation:
--  U_n(x) - x U_{n-1}(x) = T_n(x)

)set expose add constructor PolynomialNumberTheoryFunctions
X : UP('x, Integer) := x
[chebyshevU(n) - X*chebyshevU(n-1) - chebyshevT(n) for n in 1 .. ]

)clear completely
Fp:=PF 2
poly:=createIrreduciblePoly(4)$FFPOLY(Fp)
Fq:=FFP(Fp, poly)    -- Field with 16 elements
R:=DMP([X,Y,Z],Fq)
Q:=FRAC R
F:=X**4+X*Z**3
G:=X**4+X**2*Y**2+Z**4
h:Q:=F/G

)clear completely

squareFree ((c^15*e^8+c^23*d^4)::POLY PF 2) 

)clear completely
FiniteFieldExtensionByPolynomial(FF(3,3),1+2*x**2+x**3)

)clear completely
Field has Ring

)clear completely
-- from bmt
y:=operator y
u:=operator u
eval(y x, y, c[1]*x,x)
eval(y x, y, D(u t,t),t)
eval(y x ,y, integral(u t,t),t)
eval(y x ,y, integral(u z,z=z0..t),t)
eval(y x+D(y x,x), y, u t+ D(u t,t),t)
eval(D(y x,x)+y(x),y,D(u x,x)+u(x),x)


)clear completely
-- from bmt
ps:=x::TS FRAC INT
D(ps,x) -- fails to find function
D(ps,[x]) -- works
D(ps,[y]) -- causes ccl to disappear (at least under windows)


)clear completely
-- from bmt
T1:=3
a | a^2+1
--gets an error while trying to display the type of the expression
--since it uses fortran code generation stuff which wants to use
-- the variable name T1 for some other purpose

)clear completely
-- from bmt
u1 := operator 'u1
u2 := operator 'u2
eq1 := D(u1(t),t,2) + 5*u1(t) = 2*u2(t)
eq2 := D(u2(t),t,2) + 2*u2(t) = 2*u1(t)
eq1/2
_rule(rhs %, lhs %)
%(lhs eq2)
eval(%,t=0)

)clear completely
-- from bmt
bug := [exp(sqrt(-5))]
complexForm(bug.1) -- works
map(complexForm,bug::List EXPR COMPLEX INT) -- works
map(complexForm,bug) -- fails


)clear completely
-- from bmt
f x == c[1]*exp(x)
f x -- works
g(x:EXPR(INT)):EXPR(INT) == c[1]*exp(x) 
g x -- fails
g(x:EXPR(INT)):EXPR(INT) == (c[1]::EXPR INT)*exp(x) 
g x -- fails

)clear completely
-- from bmt
a | a**8+a**4+a**3+a**2+(1::PF 2)
tt:Matrix SAEa:=[_
[0,0,0,1,1,1,0,1],_
[1,0,0,0,0,0,0,0],_
[0,1,0,0,0,0,0,0],_
[0,0,1,0,0,0,0,0],_
[0,0,0,1,0,0,0,0],_
[0,0,0,0,1,0,0,0],_
[0,0,0,0,0,1,0,0],_
[0,0,0,0,0,0,1,0]];
T:=transpose tt
T0:=T**91
T1:=T**95

)clear completely
-- from bmt
u1:=operator 'u1
u2:=operator 'u2
eq1 := D(u1(t),t,2) + 5*u1(t) = 2*u2(t)
eq2 := D(u2(t),t,2) + 2*u2(t) = 2*u1(t)
eq1/2
_rule(rhs %, lhs %)
%(lhs eq2)=%(rhs eq2)
rightZero %
-2*%
eval(lhs %,u1,exp(r*t),t)
%/exp(r*t)
solve(%,r)
[eval(exp(r*t),eq) for eq in %]
map(complexForm, %::List EXPR COMPLEX INT)
[real %(1), imag %(1), real %(3), imag %(3)]
gform:= u1(t)=reduce(+, [c[i]*%.i for i in 1..#%])
_rule(lhs %, rhs %)
%(lhs eq1)=rhs eq1
%/2
--part c
inits := [u1(0)=1, eval(D(u1 t,t),t=0)=0, u2(0)=2, eval(D(u2 t,t),t=0)=0]
eqq := eq1-5*u1(t)
eval(eqq,t=0)
eval(%,inits)
inits:=cons(%,inits)
D(eqq,t)
eval(%,t=0)


)clear completely
-- from bmt
u:=operator 'u
exp:=D(u t,t)
k:=kernels(exp).1
l:=argument %
difop:=operator k
l2:=[l.1+l.2,l.2,l.3]
bug:=evaluate(difop,l2)
kernels(bug).1
argument %
eval(bug,t=0)

)clear completely
R := Polynomial(PrimeField(3)) ; 
A := UP('X, R) 
X : A := monomial(1, 1) ;
f : A := a*X^3 + b*X^2 + c*X + d
discriminant(f)
s := differentiate f
resultant(f,s)
exquo(%,leadingCoefficient(f))

@
\eject
\begin{thebibliography}{99}
\bibitem{1} nothing
\end{thebibliography}
\end{document}