\mnb150ÿ{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 Trebuchet MS;}{\f3\fmodern\fprq1 Lucida Sans Typewriter;}} {\colortbl\red0\green0\blue0;\red255\green0\blue0;} \deflang1033\pard\ri4\plain\f2\fs72\cf0 Chapter 5 Algebra with MuPAD\plain\f2\fs36\cf0 \ \par 5.1 Numbers and domains\ \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}solve(x^3 - 7*x + 6 = 0, x)\ assume(x > 0):\ solve(x^3 - 7*x + 6 = 0, x)\ assume(x < 0):\ solve(x^3 - 7*x + 6 = 0, x)\ assume(x <= 1):\ solve(x^3 - 7*x + 6 = 0, x)\ unassume(x):\ equation := (cos(x))^2 = cos(x)\ solve(equation, x)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}assume(x > 0):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 assume(x < 20, _and):\ solve(equation, x)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}assume(x > 100):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 assume(x < 110,_and):\ solve(equation, x)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}unassume(x):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 assume(x, Type::Interval(PI,3*PI)):\ solve(equation, x)\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}assume(x, Type::Integer):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 solve(x^4 - 2/3 = 0, x)\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}assume(x, Type::Real):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 solve(x^4 - 2/3 = 0, x)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}assume(x, Type::Complex):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 solve(x^4 - 2/3 = 0, x)\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}assume(x, Type::Imaginary):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 solve(x^4 - 2/3 = 0, x)\ \pard\ri4\plain\f2\fs36\cf0 \par The most popular types: \par ===================== \par Type::Arithmetical ---arithmetical expressions,\ Type::Boolean---logical expressions, \ Type::Complex---complex expressions, \ Type::Constant---constants,\ Type::Even---even numbers,\ Type::Imaginary---imaginary numbers, \ Type::Integer---integer numbers, \ Type::Interval---interval of real numbers, \ Type::NegInt---negative integer numbers, \ Type::NegRat---negative rational numbers, \ Type::Negative---negative numbers,\ Type::NonNegInt---non-negative integers, \ Type::NonNegRat---non-negative rational numbers, \ Type::NonNegative---non-negative numbers,\ Type::NonZero---non-zero numbers,\ Type::Odd---odd numbers,\ Type::PosInt---positive integers,\ Type::PosRat---positive rational numbers, \ Type::Positive---positive numbers,\ Type::RatExpr---rational expressions, \ Type::Rational---rational numbers, \ Type::Real---real numbers.\ \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}solve(x^4 - 2/3 = 0, x) assuming x<0\ solve(x^4 - 2/3 = 0, x)\ \pard\ri4\plain\f2\fs36\cf0 \par >>>>>>>>>> Time for Exercise 5.1 \par \ 5.2 Complex numbers and quaternions\ \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}reset(): \par {\pntext\f1\'b7\tab}solve(x^2 + 1 = 0, x)\ solve(x^3 + 1 = 0, x)\ solve(x^4 + 1 = 0, x)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}A := 3/7 + 7/3*I\ B := -4/3 + 5/6*I\ A+B, A-B, A*B, A/B\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}abs(A)\ sqrt(A)\ solve(x^2 - A = 0, x)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}U := solve(x^3 - 1 = 0, x)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}x1 := U[1]\ x2 := U[2]\ x3 := U[3]\ \pard\ri4\plain\f3\fs36\cf1 \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}x1 := rectform(x1)\ x2 := rectform(x2)\ \pard\ri4\plain\f3\fs36\cf1 \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}arg(x1), arg(x2)\ A := plot::Point2d([Re(U[1]),Im(U[1])]):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 B := plot::Point2d([Re(U[2]),Im(U[2])]):\ C := plot::Point2d([Re(U[3]),Im(U[3])]):\ C1 := plot::Circle2d(1, [0,0]):\ plot(A,B,C,C1, PointSize=3, PointColor=RGB::Red)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}A := plot::Arrow2d([0,0],[Re(U[1]),Im(U[1])]):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 B := plot::Arrow2d([0,0],[Re(U[2]),Im(U[2])]):\ C := plot::Arrow2d([0,0],[Re(U[3]),Im(U[3])]):\ C1 := plot::Circle2d(1, [0,0]):\ plot(A,B,C,C1, PointSize=3, PointColor=RGB::Red)\ \pard\ri4\plain\f3\fs36\cf1 \plain\f2\fs36\cf0 \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}A := 3/2 + 2/3*I\ abs(A)\ sign(A)\ rectform(%)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}a := Dom::Quaternion([2,5,-1,4])\ b := Dom::Quaternion(3 + 3*i + 6*j + 7*k)\ a+b, a-b\ 3*a - 4*b\ a/b\ a^3\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}b := Dom::Quaternion(1+ i + j + k)\ Im(b)\ Re(b)\ conjugate(b)\ abs(b)\ sign(b)\ \pard\ri4\plain\f3\fs36\cf1 >\plain\f2\fs36\cf0 >>>>>>>>> Time for Exercise 5.2 \par \ 5.3 Polynomials \par \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}reset(): \par {\pntext\f1\'b7\tab}poly1 := x^3 - 13*x +12\ poly2 := x^3 - 11*x^2 + 31*x - 21\ poly1*poly2\ expand(%)\ factor(poly2)\ solve(poly2=0,x)\ factor(poly1/poly2)\ degree(poly1*poly2)\ evalp(poly1, x=2.1)\ gcd(poly1,poly2)\ lcm(poly1,poly2)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}poly1 := poly(a*x^3 - 13*x +12,[x])\ poly2 := poly(x^2 + x^3*y*z + y^2*z^2 + 5*z+3,[x,y])\ poly3 := poly(x^2 + x^3*y*z + y^2*z^2 + 5*z+3,[x])\ poly4 := poly(x^2 + x^3*y*z + y^2*z^2 + 5*z+3,[y])\ poly2list(poly1)\ poly2list(poly2)\ \pard\ri4\plain\f2\fs36\cf0 \par \par \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}A := poly(x^3 + 11*x - 34,[x], Dom::IntegerMod(3)) \par {\pntext\f1\'b7\tab}B := poly(x^4 + 21*x + 17,[x], Dom::IntegerMod(3))\ A+B\ A*B\ \pard\ri4\plain\f2\fs36\cf0 \par >>>>>>>>>> Time for Exercise 5.3 \par \ 5.4 Systems of linear equations\ \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}equations := \{\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 x - 2*y - 3*z + t = 7,\ x + y + z + t = 1,\ 5*x - 3*y - 3*z = 2\ \}\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}solve(equations, \{x,y,z\})\ linsolve(equations, \{x,y,z\})\ linsolve(equations, [z,y,x])\ linsolve(\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 \{5*cos(x)+3*exp(x) = 1, cos(x)-2*exp(x) = 0\},\ \{cos(x), exp(x)\}\ )\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}linsolve(\{5*x+3*y = 1, -2*x - 5*y = 0\}, \{x,y\},\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 Domain = Dom::IntegerMod(7)\ )\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}eq1 := x + 2*z = 1:\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 eq2 := y + 4*z = 7:\ eq3 := 6*x + y = 1:\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}linsolve(\{eq1,eq2,eq3\}, \{x,y,z\})\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}// finding a point on each plane\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 solve(subs(eq1, x=0, y=0), z)\ \pard\ri4\plain\f3\fs36\cf1 \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}solve(subs(eq2,x=0, y=0),z)\ solve(subs(eq3,x=0, z=0),y)\ \pard\ri4\plain\f3\fs36\cf1 \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}// declare planes and the point\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 A := plot::Plane([0,0,1/2],[1,0,2]):\ B := plot::Plane([0,0,7/4],[0,1,4]):\ C := plot::Plane([0,1,0],[6,1,0]):\ P := plot::Point3d([-1/2,4,3/4]):\ plot(A,B,C,P)\ \pard\ri4\plain\f3\fs36\cf1 \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}eq1 := x + 3*y + 2*z = 1:\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 eq2 := 2*x + 6*y + 4*z = 7:\ eq3 := -x - 3*y - 2*z = 3:\ linsolve(\{eq1,eq2,eq3\}, \{x,y,z\})\ \pard\ri4\plain\f3\fs36\cf1 \plain\f2\fs36\cf0 >>>>>>>>>> Time for Exercise 5.4 \ 5.5 Declarations of matrices\ \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}matrix(3, 3, [[0,1,2], [1,0,3], [4,5,0]])\ matrix(4, 4, [[0,1,2], [1,0,3], [4,5,0]])\ matrix(4, 3, [[0,1,2], [1,0,3], [4,5,0]])\ matrix(4, 5, [5,3,2,5,8], Diagonal)\ matrix(5, 5, [1,2,3,4,5,6,7,8,9], Banded)\ matrix(5, 5, [5,3,3,5,8], Banded)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}matrix(4, 4, (n,m) -> exp(n + m))\ matrix(4, 4, n -> exp(n), Diagonal)\ linalg::hilbert(5)\ linalg::randomMatrix(5, 5, Dom::Integer)\ linalg::randomMatrix(4, 4, Dom::Integer, 0..9)\ linalg::randomMatrix(6, 6,\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 Dom::Integer, 0..100, Diagonal\ )\ \pard\ri4\plain\f2\fs36\cf0 \par >>>>>>>>>> Time for Exercise 5.5 \ \par 5.6 Visualization of matrices\ \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}B := linalg::randomMatrix(5,5, Dom::Integer, -10..10)\ plot(plot::Matrixplot(B))\ \pard\ri4\plain\f2\fs36\cf0 \par 5.7 Operations on matrices\ \ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}A := matrix(3,3,[[7,6,0],[8,0,3],[6,1,9]]);\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 B := matrix(3,3,[[9,7,0],[0,6,1],[0,0,8]]);\ C := matrix(2,3,[[7,1,7],[0,8,4]]);\ F := matrix(3,2,[[1,8],[7,5],[7,0]]);\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}A + B\ 3*A + 5*B\ A*B // this operation can be done\ B*F // this operations can be done also\ F*B // this operations cannot be done\ A^(-1)\ float(A^(-1))\ linalg::transpose(A)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}g := x -> x*exp(-x*3);\ A := matrix([[7,6,0], [8,0,3], [6,1,9]]):\ map(A, g)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}map(A, x -> x*exp(-x*3))\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}f := (x,y) -> x*y:\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 zip(A,B,f)\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}f := (x,y)->max(x,y):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 zip(A,B,f)\ \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}g := (x,y)->min(x,y):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 zip(A,B,g)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}h := (n,m) -> gcd(n,m):\ \pard\li600\ri1\fi-300\plain\f3\fs36\cf1 zip(A,B,h)\ \pard\ri4\plain\f2\fs36\cf0 \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs36\cf1 {\pntext\f1\'b7\tab}A := matrix(3,3,[[3, 2, 5],[-1, 5, 3],[1, 2, -5]])\ linalg::det(A)\ \pard\ri4\plain\f2\fs36\cf0 \par >>>>>>>>>> Time for Exercise 5.7 \par }