> <\body> <\input|> >> C:=Complex Expression Integer <\output> (1)> <\input|> >> Q:=Quaternion C <\output> (2)> <\input|> >> q:Q:=quatern(q0,q1,q2,q3) <\output> (3)> <\input|> >> qlist(l:List C):Q==quatern(l.1,l.2,l.3,l.4) <\output> \ \ \ Function declaration qlist : List Complex Expression Integer -\\ \ \ \ \ \ \ Quaternion Complex Expression Integer has been added to\ \ \ \ \ \ \ workspace. <\input|> >> listq(x:Q):List C == [real x, imagI x, imagJ x, imagK x] <\output> \ \ \ Function declaration listq : Quaternion Complex Expression Integer \ \ \ \ \ \ \ -\ List Complex Expression Integer has been added to workspace. <\input|> >> matrixq(x:Q):Matrix C == matrix _ [[real x + %i*imagI(x), imagJ x + %i*imagK(x)], _ [-imagJ(x) + %i*imagK(x), real x - %i*imagI(x)]] <\output> \ \ \ Function declaration matrixq : Quaternion Complex Expression Integer \ \ \ \ \ \ \ -\ Matrix Complex Expression Integer has been added to\ \ \ \ \ \ \ workspace. <\input|> >> sig0:=quatern(1,0,0,0)::Q <\output> (10)> <\input|> >> sig1:=%i*quatern(0,0,0,1)::Q <\output> (11)> <\input|> >> sig2:=%i*quatern(0,0,1,0)::Q <\output> (12)> <\input|> >> sig3:=-%i*quatern(0,1,0,0)::Q <\output> (13)> <\input|> >> siglist(x:Q):List C == [real x, -imagK(x)*%i,-imagJ(x)*%i,%i*imagI(x)] <\output> \ \ \ Function declaration siglist : Quaternion Complex Expression Integer \ \ \ \ \ \ \ -\ List Complex Expression Integer has been added to workspace. <\input|> >> D(q:Q,x:Symbol,y:Symbol,z:Symbol):Q==sig1*D(q,x)+sig2*D(q,y)+sig3&# 42;D(q,z) <\output> \ \ \ Function declaration D : (Quaternion Complex Expression Integer, \ \ \ \ \ \ Symbol,Symbol,Symbol) -\ Quaternion Complex Expression Integer\ \ \ \ \ \ \ has been added to workspace. (15)> <\input|> >> Ft:=operator 'Ft; Fx:=operator 'Fx; Fy:=operator 'Fy; Fz:=operator 'Fz; <\output> <\input|> >> F:Q:=Ft(x,y,z)*sig0+Fx(x,y,z)*sig1+Fy(x,y,z)*sig2+Fz(x,y,z)*sig3 <\output> x,y,z-F*zx,y,zi*i+F*yx,y,zi*j+F*xx,y,zi*k(17)> <\input|> >> siglist(D(F,x,y,z)) <\output> \ \ \ There are no library operations named # having 2 argument(s) though\ \ \ \ \ \ \ there are 2 exposed operation(s) and 1 unexposed operation(s)\ \ \ \ \ \ \ having a different number of arguments. Use HyperDoc Browse, or\ \ \ \ \ \ \ issue \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ )what op # \ \ \ \ \ \ to learn what operations contain " # " in their names, or issue \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ )display op # \ \ \ \ \ \ to learn more about the available operations. \ \ \ Cannot find a definition or applicable library operation named #\ \ \ \ \ \ \ with argument type(s)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Quaternion Complex Expression Integer \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ PositiveInteger \ \ \ \ \ \ \ \ \ \ \ \ Perhaps you should use "@" to indicate the required return type,\ \ \ \ \ \ \ or "$" to specify which version of the function you need. \ \ \ AXIOM will attempt to step through and interpret the code. \ \ \ Compiling function D with type (Quaternion Complex Expression\ \ \ \ \ \ \ Integer,Symbol,Symbol,Symbol) -\ Quaternion Complex Expression\ \ \ \ \ \ \ Integer\ \ \ \ There are no library operations named # having 2 argument(s) though\ \ \ \ \ \ \ there are 2 exposed operation(s) and 1 unexposed operation(s)\ \ \ \ \ \ \ having a different number of arguments. Use HyperDoc Browse, or\ \ \ \ \ \ \ issue \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ )what op # \ \ \ \ \ \ to learn what operations contain " # " in their names, or issue \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ )display op # \ \ \ \ \ \ to learn more about the available operations. \ \ \ \ Cannot find a definition or applicable library operation named #\ \ \ \ \ \ \ with argument type(s)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Quaternion Complex Expression Integer \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ PositiveInteger \ \ \ \ \ \ \ \ \ \ \ \ Perhaps you should use "@" to indicate the required return type,\ \ \ \ \ \ \ or "$" to specify which version of the function you need. <\input|> >> \; \; > <\initial> <\collection>