 |
|
List Archives > 
Maple User Group List Archive > 
Archive by date > 
This Month By Date > 
This Month By Topic
[MUG] abstract algebra impossible in Maple?
| [MUG] abstract algebra impossible in Maple? |
|
Author: Charles James Leonardo Quarra Cappiello
Posted: Fri, 20 Dec 2002 10:39:57 -0400
|
>> From: "Charles James Leonardo Quarra Cappiello" "charsquarra"
Hi,
The dot product on Maple ( '.' operator ) has no effect upon undefined
objects, even if the effect of such operation may depend only on the
conmutative properties.
a desired capability would be the following:
>(A + t*B).(A + t*B);
(A + tB)(A + tB)
>expand(%);
2 2 2
A + 2 A t B + t B
>collect(%,t) assuming conmute(t,[A,B]); (t conmutes with A and B)
2 2 2
A + t(BA + AB) + t (B )
currently this doesnt seem to be possible
Other thing that 'should' be easily computable but seem to not be
implemented yet is bra-ket formalism
ie:
> <psi|:=a*<e1| + b*<e2| + c*<e3|: //(a basis)
> expand( <psi|rho> );
a*<e1|rho> + b*<e2|rho> + c*<e3|rho>
> Projector:= |psi><psi|:
> Projector.|psi>;
_ _ _ _ _ _
( a*|e1> + b*|e2> + c*|e3> )*(aa<e1|e1> + ab<e1|e2> + ac<e1|e3> +
_ _ _ _ _ _
ba<e2|e1> + bb<e2|e2> + bc<e2|e3> + ca<e3|e1> + cb<e3|e2> + cc<e3|e3>)
>% assuming(real,a,b,c), additionally( orthonormal, |e1> , |e2> , |e3> );
2 2 2
( a*|e1> + b*|e2> + c*|e3> )*(a + b + c )
But again, this doesnt seem to be possible, and im not aware what language
resources are available to Maple to implement it. Any hints about this?
Greetings,
Charles Quarra
_________________________________________________________________
The new MSN 8: smart spam protection and 3 months FREE*.
http://join.msn.com/?page=features/junkmail&xAPID=42&PS=47575&PI=7324&DI=7474&SU=
http://www.hotmail.msn.com/cgi-bin/getmsg&HL=1216hotmailtaglines_smartspamprotection_3mf
|
| [MUG] Re: abstract algebra impossible in Maple? |
|
Author: Maple User Group
Posted: Fri, 3 Jan 2003 13:25:14 -0500 (
|
>> From: Maple User Group "maple_gr"
-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-
Date: Fri, 20 Dec 2002 13:17:55 -0800 (PST)
From: Robert Israel "israel"
To: "maple-list"
Subject: abstract algebra impossible in Maple?
On Fri, 20 Dec 2002, Charles James Leonardo Quarra Cappiello wrote:
> The dot product on Maple ( '.' operator ) has no effect upon undefined
> objects, even if the effect of such operation may depend only on the
> conmutative properties.
> a desired capability would be the following:
>
> >(A + t*B).(A + t*B);
>
> (A + tB)(A + tB)
>
> >expand(%);
>
> 2 2 2
> A + 2 A t B + t B
Huh? This is only valid if A commutes with t*B and t commutes with
B. You should get A.A + A.(t*B) + (t*B).A + (t*B).(t*B).
It is true that expand does not do anything with ".".
Here is at least a partial remedy:
`expand/.` := proc ()
local i, n, A;
n:= nargs;
A := op(map(expand,[args]));
for i to n do
if type(A[i],`+`) then
return map(t -> `expand/.`(A[1 .. i-1],t,A[i+1 .. n]),A[i])
end if
end do;
`.`(A)
end proc;
> >collect(%,t) assuming conmute(t,[A,B]); (t conmutes with A and B)
It would be "commute".
Robert Israel "israel"
Department of Mathematics http://www.math.ubc.ca/~israel
University of British Columbia
Vancouver, BC, Canada V6T 1Z2
-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-=*=-
From: "Dr Francis J. Wright" "F.J.Wright"
To: "charsquarra"
Subject: abstract algebra impossible in Maple?
Date: Thu, 2 Jan 2003 18:16:37 -0000
> The dot product on Maple ( '.' operator ) has no effect upon undefined
> objects, even if the effect of such operation may depend only on the
> conmutative properties.
Dot is specifically defined to be non-commutative unless one of its operands
is explicitly numerical. However, one way to make . commutative in Maple 8
is as follows (which should work in all versions since Maple 6):
> use `.`=`*` in
> (A + t*B).(A + t*B)
> end use;
2
(A + t B)
> Other thing that 'should' be easily computable but seem to not be
> implemented yet is bra-ket formalism
>
> ie:
>
> > <psi|:=a*<e1| + b*<e2| + c*<e3|: //(a basis)
>
> > expand( <psi|rho> );
...
> But again, this doesnt seem to be possible, and im not aware what language
> resources are available to Maple to implement it. Any hints about this?
Since Maple 6, the read syntax <...|...> is used to represent a row vector,
so it could be used for bra-ket notation only if there were some mechanism
for redefining read syntax and I'm not aware of any such mechanism.
Customization of the read and print facilities is an area in which Maple is
weak compared with other CASs (such as REDUCE). If you are prepared to use
a different read syntax, such as bra and ket as functions, then it should
not be too hard to implement the formalism. You could overload . in a
module to implement the various non-commutative products involved.
Francis
|
Previous by date: [MUG] Re: Bug in Eigenvectors?, Maple User Group
Next by date: [MUG] Re: _EnvTryHard , _EnvSolveOverReals etc, Maple User Group
Previous thread: [MUG] _EnvTryHard , _EnvSolveOverReals etc, Andre Van Moer
Next thread: [MUG] _EnvTryHard , _EnvSolveOverReals etc, Andre Van Moer
|
|
|