
R: Re:complex conjugation by star
Posted:
Apr 23, 2014 4:52 AM


Hi Dave,
very good! It is what I wanted!
By your trick is possible to define reals:
realList = {A, B, G, x, y};
RealQ[f_] := MemberQ[realList, f]
So that, correctly, if
P=AZ +BY +Gy+xU;
P* gives
Gy+xU*+BY*+AZ*
But Conjugate[P] don't works since it simply echoes
Conjugate[Ux+Gy+BY+AZ]. So better the star suffix!
Fine! Many thanks! Roberto
Messaggio originale Da: Dave Snead [mailto:dsnead6@charter.net] Inviato: domenica 20 aprile 2014 10:47 A: mathgroup@smc.vnet.net Oggetto: Re:complex conjugation by star
Rob 
This will do it.
x,y are real, any others are complex.
RealQ[f_]:=MemberQ[{x,y},f}
SuperStar[f_?RealQ]:=f
SuperStar[f_?NumberQ]:=Conjugate[f]
SuperStar[f:_[___]]:=SuperStar/@f
Cheers,
Dave Snead
Original Message
From: Brambilla Roberto Luigi (RSE)
Sent: Friday, April 18, 2014 2:10 AM
To: 'Dave Snead' ; mathgroup@smc.vnet.net<mailto:mathgroup@smc.vnet.net>
Subject: R: complex conjugation by star
Dear Dave,
many thanks again.
Now I have the problem to tell Mathematica that same variables are reals and= have not to be 'starred' so that
(x+Iy+z)* is not x*+Iy*+z* but xIy+z* (if x and y are reals and z
unknown). Command like Element[x, Reals]
does not work.
Sincerely yours Roberto
Messaggio originale
Da: Dave Snead [mailto:dsnead6@charter.net]<mailto:[mailto:dsnead6@charter.n= et]>
Inviato: venerd=EC 18 aprile 2014 09:30
A: Brambilla Roberto Luigi (RSE); mathgroup@smc.vnet.net<mailto:mathgroup@sm= c.vnet.net>
Oggetto: Re: complex conjugation by star
Rob 
This will give you what you want:
SuperStar[f_?NumberQ]:=Conjugate[f]
SuperStar[f:_[___]]:=SuperStar/@f
Cheers,
Dave Snead
Original Message
From: Brambilla Roberto Luigi (RSE)
Sent: Thursday, April 17, 2014 10:46 PM
Subject: complex conjugation by star
I have defined the following useful star complexconjugation (common star ex= ponent notation)
f_*:=f/.Complex[u_,v_]>Complex[u,v]
and it works fine. For example BesselJ[2,x+I y]* gives BesselJ[2,xI y] etc.= ..(x,y defined/undefined).
Also it is listable on number lists
{1+i2, 5+i6}* gives {1i2, 5i6} .
Unfortunately it does not work on symbols, i.e.
A* gives A even if I have defined A as a complex number by means of Element[= A, Complexes].
Similarly if I define Element[{A,B,G}, Complexes]
{A,B,G}* gives {A,B,G} and (A+B+G)* gives A+B+G.
I'd like to obtain {A*,B*,G*} and A*+B*+G* ( ! )
Is it possible to fix this deficiency, unpleasant in manipulating general ex= pressions where is not known if symbols represent real or complex variables= ?
Many thanks!
Rob
RSE SpA ha adottato il Modello Organizzativo ai sensi del D.Lgs.231/2001, in= forza del quale l'assunzione di obbligazioni da parte della Societ=E0 avvi= ene con firma di un procuratore, munito di idonei poteri.
RSE adopts a Compliance Programme under the Italian Law (D.Lgs.231/2001).
According to this RSE Compliance Programme, any commitment of RSE is taken b= y the signature of one Representative granted by a proper Power of Attorney.= Le informazioni contenute in questo messaggio di posta elettronica sono ris= ervate e confidenziali e ne e' vietata la diffusione in qualsiasi modo o for= ma. Qualora Lei non fosse la persona destinataria del presente messaggio, La= invitiamo a non diffonderlo e ad eliminarlo, dandone gentilmente comunicazio= ne al mittente. The information included in this email and any attachments= are confidential and may also be privileged. If you are not the correct rec= ipient, you are kindly requested to notify the sender immediately, to cancel= it and not to disclose the contents to any other person.

