Fix #4414: Add url for bug reporting page in bug_report
[maxima.git] / tests / rtest_carg.mac
blobb433b49c69d4da61efcabd2a1c2e6567fb4d0307
1 /*******************************************************************************
2  *
3  *          carg function
4  *
5  * The examples show what a Maxima user can expect from the carg function.
6  * Examples are taken from functions.wolfram.com.
7  *
8  ******************************************************************************/
10 /* ---------- Initialization ------------------------------------------------ */
12 kill(all);
13 done;
15 declare([z,z1,z2],complex, n,integer);
16 done;
18 /* ---------- Specific values ----------------------------------------------- */
20 assume(x>0);
21 [x>0];
23 carg(x);
25 carg(-x);
26 %pi;
27 carg(%i*x);
28 %pi/2;
29 carg(-%i*x);
30 -%pi/2;
32 forget(x>0);
33 [x>0];
35 carg(x+%i*y);
36 atan2(y,x);
38 /* ---------- Values at fixed points ---------------------------------------- */
40 carg(1);
43 carg(-1);
44 %pi;
46 carg(%i);
47 %pi/2;
49 carg(-%i);
50 -%pi/2;
52 carg(1+%i);
53 %pi/4;
55 carg(-1+%i);
56 3*%pi/4;
58 carg(-1-%i);
59 -3*%pi/4;
61 carg(1-%i);
62 -%pi/4;
64 carg(sqrt(3)+%i);
65 %pi/6;
67 carg(1+%i*sqrt(3));
68 %pi/3;
70 carg(-1+%i*sqrt(3));
71 2*%pi/3;
73 carg(-sqrt(3)+%i);
74 5*%pi/6;
76 carg(-sqrt(3)-%i);
77 -5*%pi/6;
79 carg(-1-%i*sqrt(3));
80 -2*%pi/3;
82 carg(1-%i*sqrt(3));
83 -%pi/3;
85 carg(sqrt(3)-%i);
86 -%pi/6;
88 carg(2);
91 carg(-2);
92 %pi;
94 carg(%pi);
97 carg(3*%i);
98 %pi/2;
100 carg(-2*%i);
101 -%pi/2;
103 carg(2+%i);
104 atan(1/2);
106 /* --- Values at infinities ------------------------------------------------- */
108 carg([inf,-inf,minf,-minf,%i*inf,%i*minf,infinity]);
109 [0,%pi,%pi,0,%pi/2,-%pi/2,ind];
111 /* ---------- Parity -------------------------------------------------------- */
113 /* Add examples for Parity */
115 /* ---------- Mirror symmetry ----------------------------------------------- */
117 /* Add examples for Mirror symmetry */
119 /* ---------- Homogeneity --------------------------------------------------- */
121 assume(a>0);
122 [a>0];
124 carg(a*z);
125 carg(z);
127 carg(a*(x+%i*y));
128 atan2(y,x);
130 forget(a>0);
131 [a>0];
133 /* ---------- Transformations ----------------------------------------------- */
135 /* ----- Argument involving complex characteristics ------------------------- */
137 carg(abs(z));
140 carg(z/abs(z));
141 carg(z);
142 carg(x/abs(x));
143 atan2(0,x);
145 /* Maxima does not simplify the following examples */
147 carg(signum(z));
148 carg(z);
149 carg(signum(x));
150 atan2(0,x);
153 /* ----- Argument involving basic arithmetic operations --------------------- */
155 /* Add more examples for sums, products and quotients */
157 /* ----- Power of arguments -------------------------------------------------- */
159 carg(sqrt(z));
160 carg(z)/2;
161 carg(sqrt(x+%i*y));
162 1/2*atan2(y,x);
164 assume(x>0);
165 [x>0];
166 carg(x^z);
167 atan2(sin(log(x)*'imagpart(z)),cos(log(x)*'imagpart(z)));
168 forget(x>0);
169 [x>0];
171 carg(z^a);
172 atan2(sin(a*'carg(z)),cos(a*'carg(z)));
174 carg(z1^z2);
175 atan2(sin('carg(z1)*'realpart(z2)+log(abs(z1))*'imagpart(z2)),
176       cos('carg(z1)*'realpart(z2)+log(abs(z1))*'imagpart(z2)));
178 /* ----- Exponent of arguments ---------------------------------------------- */
180 carg(exp(x+%i*y));
181 atan2(sin(y),cos(y));
183 /* ---------- Complex characteristics --------------------------------------- */
185 realpart(carg(x+%i*y));
186 atan2(y,x);
188 imagpart(carg(x+%i*y));
191 abs(carg(x+%i*y));
192 sqrt(atan2(y,x)^2);
194 carg(carg(x+%i*y));
195 atan2(0,atan2(y,x));
197 conjugate(carg(x+%i*y));
198 atan2(y,x);
200 signum(carg(x+%i*y));
201 signum(atan2(y,x));
203 /* ---------- End of file rtest_carg.mac ------------------------------------ */