restart;
with(LinearAlgebra);
help("&x");
`&x` := proc (x, y) options operator, arrow; 2*x+3*y end proc;
`&x`(a, b);
[x[1], y[1]]+[x[2], y[2]];
[x[2] + x[1], y[2] + y[1]]
'&.':=proc(u,v) eval([u[1]*v[1]-u[2]*v[2]],[u[1]*v[2]+u[2]*v[1]] end proc:
Error, unable to match delimiters
Typesetting:-mambiguous(Typesetting:-mambiguous(primeampperiod
primeAssignproc(ucommav) evallpar(u(1)sdotv(1) - u(2)sdotv(2))
comma(u(1)sdotv(2) + u(2)sdotv(1)) end proccolon,
Typesetting:-merror("unable to match delimiters")))
&. ([x[1],y[1]],[x[2],y]]);
Error, unable to match delimiters
Typesetting:-mambiguous(Typesetting:-mambiguous(
ampperiod lpar(x(1)y(1))comma(x(2)commay)rsqbrparsemi,
Typesetting:-merror("unable to match delimiters")))
f := proc (x1, y1, x2, y2) options operator, arrow; x1*x2-y1y2 end proc;
(x1, y1, x2, y2) -> x1 x2 - y1y2
f := proc (x1, y1, x2, y2) options operator, arrow; x1*x2-y1y2, x1*y2+y1*x2 end proc;
(x1, y1, x2, y2) -> x1 x2 - y1y2, x1 y2 + y1 x2