> with(linalg): > a := [2, 13, -6]; > b := [5, -4, 17]; > a+b; > 5*a-2*b; > dotprod(a,b); > crossprod(a,b); > crossprod(b,a); > dotprod(a,crossprod(a,b));The next two commands show two different ways to compute the length of a vector. The first way uses the norm command. Note the as the second argument of the command. The has to be there, or else Maple uses a different norm than the one we want. The second way, using the fact that , is prefered for the reasons given in the examples below dealing with arbitrary vectors.
> norm(a,2); > sqrt(dotprod(a,a));The final example for fixed vectors shows two methods for computing the vector projection or component of b in the direction a. Method one first computes the unit vector of a.
> a_unit := evalm(a/sqrt(dotprod(a,a))); > comp_a1 := evalm(dotprod(b,a_unit)*a_unit);The second method uses the formula for the component.
> comp_a2 := evalm(dotprod(b,a)/dotprod(a,a)*a);In the next set of examples two arbitrary three-dimensional vectors, u and v, are defined and then these vectors are used to prove the vector identity
> u := [u1,u2,u3]; > v := [v1,v2,v3]; > norm(u,2); > sqrt(dotprod(u,u));The above two commands show the two ways of computing the length of an arbitrary vector. Note the absolute value signs appearing in the output of the norm command as well as the conjugate notation in the output of the sqrt command. These appear because Maple is allowing the components of u to be complex numbers. Therefore you need to tell the computer that you are dealing with real numbers. Absolute value signs cause problems in proving vector identities involving real vectors, so you probably are better off using the square root of the dot product of a vector with itself to compute the length.
> assume(u1,real,u2,real,u3,real,v1,real,v2,real,v3,real);The next few commands show how to prove the identity given above. The strategy is to compute both sides of the equation and then compare them. If they are identical, then the equation holds. (Note: the tilda simply means that the computer refered to the assumption, so b1=b1).
> eq1 := dotprod(evalm(u-v),evalm(u-v)); > expand(eq1); > eq2 := dotprod(u,u)+dotprod(v,v)-2*dotprod(u,v); > simplify(eq1-eq2);