with(LinearAlgebra); # define main function main := proc() print("Maple output"); print("Chapter 2"); prob05(); end; prob05 := proc() local a,b,c,d,e,m_a,m_b,m_c,m_d,m_e,d_a,d_b,d_c,d_d,d_e,dd_a,dd_b,dd_c,dd_d,dd_e; a := <4.0,-3.0,0.0>; b := <6.0,8.0,0.0>; print("Problem 5"); print("a := ", a); print("b := ", b); c := a + b; d := b - a; e := a - b; f := <2.0,-3.0,7.0>; g := <12.0,45.0,-8.0>; h := <-5.0,-3.0,42.0>; print("c := ", c); print("d := ", d); print("e := ", e); m_a := mag(a); m_b := mag(b); m_c := mag(c); m_d := mag(d); m_e := mag(e); print("magnitude of a := ", m_a); print("magnitude of b := ", m_b); print("magnitude of c := ", m_c); print("magnitude of d := ", m_d); print("magnitude of e := ", m_e); d_a := direction_r(a); d_b := direction_r(b); d_c := direction_r(c); d_d := direction_r(d); d_e := direction_r(e); print("direction in radians of a := ", d_a); print("direction in radians of b := ", d_b); print("direction in radians of c := ", d_c); print("direction in radians of d := ", d_d); print("direction in radians of e := ", d_e); dd_a := direction_d(a); dd_b := direction_d(b); dd_c := direction_d(c); dd_d := direction_d(d); dd_e := direction_d(e); print("direction in degrees of a := ", dd_a); print("direction in degrees of b := ", dd_b); print("direction in degrees of c := ", dd_c); print("direction in degrees of d := ", dd_d); print("direction in degrees of e := ", dd_e); print("a.a",dot(a,a)); print("a.b",dot(a,b)); print("b.a",dot(b,a)); print("a.c",dot(a,c)); print("d.a",dot(d,a)); print("a.e",dot(a,e)); print("e.a",dot(e,a)); print("axa",cross(a,a)); print("axb",cross(a,b)); print("bxa",cross(b,a)); print("axc",cross(a,c)); print("dxa",cross(d,a)); print("axe",cross(a,e)); print("exa",cross(e,a)); print("fxg",cross(f,g)); print("fxh",cross(f,h)); print("gxh",cross(g,h)); print("gxf",cross(g,f)); print("hxf",cross(h,f)); print("hxg",cross(h,g)); af := ; ag := ; print("afxag",cross(af,ag)); end; dot := proc(a,b) local b_t,m,r; b_t := b^%T; # transpose r := b_t . a ; # dot product end; cross := proc(a,b) local r; r := a &x b; # cross product end; mag := proc(a) local a_t,m,r_m; a_t := a^%T; # transpose m := a_t . a ; # dot product r_m := sqrt(m); end; direction_r := proc(a) local dir; dir := arctan(a[2],a[1]); end; direction_d := proc(a) local dir; dir := arctan(a[2],a[1]) * 180.0 / Pi; end; # call main main();