Sponsored links: Algebra eBooks
 

Related

build_info-quad_qags

build_info();

f(x,y,z):=x*y*z;

quad_qags (quad_qags ...

Calculate

build_info

? build_info;

Calculate

build_info-quad_qags

f(x,y,z):=x*y*z;

quad_qags (quad_qags ...

build_info();

Calculate

build_info-quad_qags

build_info();

f(x,y,z):=x*y*z;

quad_qags (quad_qags ...

Calculate

build_info-ev-rhs

Gerade(x,y):=y=k*x+d;

EINGABE:[k=1,d=3];

Gerade:ev(Gerade(x,y)...

Calculate

build_info-lambda-last-map-plot2d-solve
plot2d([f1_1,f1_2,f2_1,f2_2],[x,-2,3]);

f1:(x-1)^2+(y)^2=2^2;

f2:(x)^2+(y-1)^2=2^2;

solve([f1,f2],[x,y]);

Calculate

build_info-float-fpprec-fpprintprec

fpprec:16;

fpprintprec:0;

float(54.8/1000);

Calculate

build_info-quad_qags

build_info();

f(x,y,z):=x*y*z;

quad_qags (quad_qags ...

Calculate

build_info

Run Example
(%i1)build_info();

Maxima version: 5.21.1
Maxima build date: 7:25 9/18/2010
Host type: x86_64-unknown-linux-gnu
Lisp implementation type: GNU Common Lisp (GCL)
Lisp implementation version: GCL 2.6.7

(%o1) 
(%i2) /* compute angles for intrinsic Tait-Bryan angles * on axes y-z'-x'', conventionally named pitch, yaw, and roll * (following terminology on Wikipedia page for "Euler angles") * via method expounded by G. Slabaugh: * http://www.staff.city.ac.uk/~sbbh653/publications/euler.pdf * * Argument R is a 3x3 rotation matrix. * Return value is a list of two triples, [[pitch1, yaw1, roll1], [pitch2, yaw2, roll2]], * because there are always two solutions. */intrinsic_yzx (R) :=  if equal (R[2, 1], 1) or equal (R[2, 1], -1)    then intrinsic_yzx_yaw_pi2 (R)    else block ([pitch1, pitch2, yaw1, yaw2, roll1, roll2],      yaw1 : asin (R[2, 1]),       yaw2 : %pi - yaw1,      pitch1 : atan2 (-R[3, 1]/cos(yaw1), R[1, 1]/cos(yaw1)),      pitch2 : atan2 (-R[3, 1]/cos(yaw2), R[1, 1]/cos(yaw2)),      roll1 : atan2 (-R[2, 3]/cos(yaw1), R[2, 2]/cos(yaw1)),      roll2 : atan2 (-R[2, 3]/cos(yaw2), R[2, 2]/cos(yaw2)),      [[pitch1, yaw1, roll1], [pitch2, yaw2, roll2]]);
(%o2) intrinsic_yzx(R) := if equal(R    , 1) or equal(R    , - 1)
                                    2, 1               2, 1
 then intrinsic_yzx_yaw_pi2(R) else block([pitch1, pitch2, yaw1, yaw2, roll1, 
roll2], yaw1 : asin(R    ), yaw2 : %pi - yaw1, 
                     2, 1
                - R         R                         - R         R
                   3, 1      1, 1                        3, 1      1, 1
pitch1 : atan2(---------, ---------), pitch2 : atan2(---------, ---------), 
               cos(yaw1)  cos(yaw1)                  cos(yaw2)  cos(yaw2)
               - R         R                        - R         R
                  2, 3      2, 2                       2, 3      2, 2
roll1 : atan2(---------, ---------), roll2 : atan2(---------, ---------), 
              cos(yaw1)  cos(yaw1)                 cos(yaw2)  cos(yaw2)
[[pitch1, yaw1, roll1], [pitch2, yaw2, roll2]])
(%i3) intrinsic_yzx_yaw_pi2 (R) :=  block ([pitch1, pitch2, yaw1, yaw2, roll1, roll2],    yaw1 : %pi/2,    roll1 : 0, /* could be anything */    pitch1 : -roll1 + atan2 (R[3, 2], R[3, 3]),    yaw2 : -%pi/2,    roll2 : 0, /* could be anything */    pitch2 : roll2 + atan2 (R[1, 3], R[1, 2]),    [[pitch1, yaw1, roll1], [pitch2, yaw2, roll2]]);
(%o3) intrinsic_yzx_yaw_pi2(R) := block([pitch1, pitch2, yaw1, yaw2, roll1, 
               %pi
roll2], yaw1 : ---, roll1 : 0, pitch1 : - roll1 + atan2(R    , R    ), 
                2                                        3, 2   3, 3
       - %pi
yaw2 : -----, roll2 : 0, pitch2 : roll2 + atan2(R    , R    ), 
         2                                       1, 3   1, 2
[[pitch1, yaw1, roll1], [pitch2, yaw2, roll2]])
(%i4) set_random_state (make_random_state (1));
(%o4)                                done
(%i5) random_3d_unit () := (random_3d (), %%/norm(%%));
                                                       %%
(%o5)             random_3d_unit() := (random_3d(), --------)
                                                    norm(%%)
(%i6) random_3d () := makelist (random (10), i, 1, 3);
(%o6)            random_3d() := makelist(random(10), i, 1, 3)
(%i7) norm (v) := sqrt (lsum (x^2, x, v));
                                              2
(%o7)                   norm(v) := sqrt(lsum(x , x, v))
(%i8) u : random_3d_unit ();
                            5          9          4
(%o8)                  [---------, ---------, ---------]
                        sqrt(122)  sqrt(122)  sqrt(122)
(%i9) v : random_3d_unit ();
                            8         3         3
(%o9)                   [--------, --------, --------]
                         sqrt(82)  sqrt(82)  sqrt(82)
(%i10) R(a,b):= block ([v, s, c], v:cross(a,b), s:norm(v), c:dot(a,b), ident(length(a)) + ssc(v) + (ssc(v).ssc(v))*(1 - c)/s^2, ratsimp(%%));
(%o10) R(a, b) := block([v, s, c], v : cross(a, b), s : norm(v), 
                                           (ssc(v) . ssc(v)) (1 - c)
c : dot(a, b), ident(length(a)) + ssc(v) + -------------------------, 
                                                       2
                                                      s
ratsimp(%%))
(%i11) cross(a,b) := [a[2]*b[3]-b[2]*a[3], -(a[1]*b[3]-b[1]*a[3]), a[1]*b[2]-b[1]*a[2]];
(%o11) cross(a, b) := [a  b  - b  a , - (a  b  - b  a ), a  b  - b  a ]
                        2  3    2  3      1  3    1  3    1  2    1  2
(%i12) norm(v):= sqrt(v[1]^2 + v[2]^2 + v[3]^2);
                                          2    2    2
(%o12)                   norm(v) := sqrt(v  + v  + v )
                                          1    2    3
(%i13) dot(a,b):= a[1]*b[1]+a[2]*b[2]+a[3]*b[3];
(%o13)                dot(a, b) := a  b  + a  b  + a  b
                                    1  1    2  2    3  3
(%i14) ssc(v) := matrix ([0, -v[3], v[2]], [v[3], 0, -v[1]], [-v[2], v[1], 0]);
(%o14)   ssc(v) := matrix([0, - v , v ], [v , 0, - v ], [- v , v , 0])
                                 3   2     3        1       2   1
(%i15) Ruv : float (R (u, v));
         [  0.80240796270139   0.58412740488141   0.12221553199131  ]
         [                                                          ]
(%o15)   [ - 0.5556446634958   0.80598226750272  - 0.20408721762966 ]
         [                                                          ]
         [ - 0.21771648840189  0.09585280036434   0.97129386456431  ]
(%i16) intrinsic_yzx (Ruv);

rat: replaced -1.5556446634958 by -7758/4987 = -1.55564467615801

rat: replaced 0.4443553365042 by 4987/11223 = 0.44435534170899
(%o16) [[0.26495004690786, - 0.58913814199809, 0.24800273610235], 
             [- 2.876642606681936, %pi + 0.58913814199809, - 2.89358991748744]]
(%i17) 
Run Example
f: x^3-(A+2)*x^2+B*x-A;
                                  2                3
(%o1)                      x B - x  (A + 2) - A + x
(%i2) g: 2*x^2+B*x-A*(B+2*A+9)-16;
                                                   2
(%o2)                 - A (B + 2 A + 9) + x B + 2 x  - 16
(%i3) r:rat(resultant(f,g,x));
              4         2               3          3       2                 2
(%o3)/R/ - A B  + (- 6 A  - 16 A - 16) B  + (- 13 A  - 70 A  - 160 A - 128) B
          4        3        2                       5       4        3
 + (- 12 A  - 102 A  - 396 A  - 736 A - 512) B - 4 A  - 52 A  - 329 A
         2
 - 1168 A  - 2304 A - 2048
(%i4) rx: r, A: x;
              4         2               3          3       2                 2
(%o4)/R/ - x B  + (- 6 x  - 16 x - 16) B  + (- 13 x  - 70 x  - 160 x - 128) B
          4        3        2                       5       4        3
 + (- 12 x  - 102 x  - 396 x  - 736 x - 512) B - 4 x  - 52 x  - 329 x
         2
 - 1168 x  - 2304 x - 2048
(%i5) rt32(t):= sqrt(13/4+2*t+4/t);
                                         13         4
(%o5)                    rt32(t) := sqrt(-- + 2 t + -)
                                         4          t
(%i6) plot2d(append( [-2*x-3, -2*x-5, -2*x-7, 2*x+1, /*if abs(x+4) <1 then %i else*/ -2*x-7-4/(x+4), [parametric, -t^2-7-t+1/t, t^2+7+2*t-2/t, [t,-3,3], [nticks, 1000]], [parametric, -t-15/2-rt32(t), t+8+2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, -t-15/2+rt32(t), t+8-2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,-2,-1/8], [ nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,1/8,2], [ nticks, 1000]]], map(rhs, solve(rx, B))),    [x,-12.5,4.5],    [color, black,black,green,black,red, green, green, green, blue,blue,red,red,red,red],    [legend, false],    [y,-24, 30]);
plotplot2d(append( [-2*x-3, -2*x-5, -2*x-7, 2*x+1, /*if abs(x+4) <1 then %i else*/ -2*x-7-4/(x+4), [parametric, -t^2-7-t+1/t, t^2+7+2*t-2/t, [t,-3,3], [nticks, 1000]], [parametric, -t-15/2-rt32(t), t+8+2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, -t-15/2+rt32(t), t+8-2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,-2,-1/8], [ nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,1/8,2], [ nticks, 1000]]], map(rhs, solve(rx, B))),    [x,-12.5,4.5],    [color, black,black,green,black,red, green, green, green, blue,blue,red,red,red,red],    [legend, false],    [y,-24, 30]);rD: r, B:D-2*A-7;
            2  3       3       2               2
(%o7)/R/ - D  A  + (2 D  - 16 D  - 18 D + 16) A
             4       3       2                        3        2
       + (- D  + 12 D  - 22 D  - 308 D + 239) A - 16 D  + 208 D  - 1072 D + 752
(%i8) build_info();

Maxima version: 5.21.1
Maxima build date: 7:25 9/18/2010
Host type: x86_64-unknown-linux-gnu
Lisp implementation type: GNU Common Lisp (GCL)
Lisp implementation version: GCL 2.6.7

(%o8) 
(%i9) 
Run Example
f: x^3-(A+2)*x^2+B*x-A;
                                  2                3
(%o1)                      x B - x  (A + 2) - A + x
(%i2) g: 2*x^2+B*x-A*(B+2*A+9)-16;
                                                   2
(%o2)                 - A (B + 2 A + 9) + x B + 2 x  - 16
(%i3) r:rat(resultant(f,g,x));
              4         2               3          3       2                 2
(%o3)/R/ - A B  + (- 6 A  - 16 A - 16) B  + (- 13 A  - 70 A  - 160 A - 128) B
          4        3        2                       5       4        3
 + (- 12 A  - 102 A  - 396 A  - 736 A - 512) B - 4 A  - 52 A  - 329 A
         2
 - 1168 A  - 2304 A - 2048
(%i4) rx: r, A: x;
              4         2               3          3       2                 2
(%o4)/R/ - x B  + (- 6 x  - 16 x - 16) B  + (- 13 x  - 70 x  - 160 x - 128) B
          4        3        2                       5       4        3
 + (- 12 x  - 102 x  - 396 x  - 736 x - 512) B - 4 x  - 52 x  - 329 x
         2
 - 1168 x  - 2304 x - 2048
(%i5) rt32(t):= sqrt(13/4+2*t+4/t);
                                         13         4
(%o5)                    rt32(t) := sqrt(-- + 2 t + -)
                                         4          t
(%i6) plot2d(append( [-2*x-3, -2*x-5, -2*x-7, 2*x+1, if abs(x+4) <1 then %i else -2*x-7-4/(x+4), [parametric, -t^2-4, t^2+4+2*t, [t,1+2^(1/2), 3], [nticks, 1000]], [parametric, -t^2-4, t^2+4+2*t, [t,-3, 1-2^(1/2)], [nticks, 1000]], [parametric, -t^2-7-t+1/t, t^2+7+2*t-2/t, [t,-3,3], [nticks, 1000]], [parametric, -t-15/2-rt32(t), t+8+2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, -t-15/2+rt32(t), t+8-2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,-2,-1/8], [ nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,1/8,2], [ nticks, 1000]]], map(rhs, solve(rx, B))),    [x,-12.5,4.5],    [color, black,black,green,black,red, red, green, green, green, blue,blue,red,red,red,red],    [legend, false],    [y,-24, 30]);
plotplot2d(append( [-2*x-3, -2*x-5, -2*x-7, 2*x+1, if abs(x+4) <1 then %i else -2*x-7-4/(x+4), [parametric, -t^2-4, t^2+4+2*t, [t,1+2^(1/2), 3], [nticks, 1000]], [parametric, -t^2-4, t^2+4+2*t, [t,-3, 1-2^(1/2)], [nticks, 1000]], [parametric, -t^2-7-t+1/t, t^2+7+2*t-2/t, [t,-3,3], [nticks, 1000]], [parametric, -t-15/2-rt32(t), t+8+2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, -t-15/2+rt32(t), t+8-2*rt32(t), [t,1/16,16], [nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,-2,-1/8], [ nticks, 1000]], [parametric, 4*a-4+1/a, 4*a^2-4*a+5-2/a,[a,1/8,2], [ nticks, 1000]]], map(rhs, solve(rx, B))),    [x,-12.5,4.5],    [color, black,black,green,black,red, red, green, green, green, blue,blue,red,red,red,red],    [legend, false],    [y,-24, 30]);rD: r, B:D-2*A-7;
            2  3       3       2               2
(%o7)/R/ - D  A  + (2 D  - 16 D  - 18 D + 16) A
             4       3       2                        3        2
       + (- D  + 12 D  - 22 D  - 308 D + 239) A - 16 D  + 208 D  - 1072 D + 752
(%i8) build_info();

Maxima version: 5.21.1
Maxima build date: 7:25 9/18/2010
Host type: x86_64-unknown-linux-gnu
Lisp implementation type: GNU Common Lisp (GCL)
Lisp implementation version: GCL 2.6.7

(%o8) 
(%i9) 

Related Help

Help for Build_info