0
$\begingroup$

I've been doing some calcultations on mathematica which involve exponential of matrices. It's well known that if [A,B]=0 then [A,F(B)]=0 where A,B are matrices and [,] is their commutator. Nonetheless, I have a matrix A, which commutes with B and then I know that [A,MatrixExp[B]]=0, but Mathematica gives me a non-zero matrix... I've tried to chop it and it didn't work. So, what could be the source of this error? I checked for the commutator of [A,B] and Mathematica is indeed giving 0. Here is a picture of the matrix plot of the output:

enter image description here

I have a Hamiltonian which is parity invariant and the evolution operator U is not commuting with the parity operator (U=exp(-iHt)) and [Pi,H]=0.

Note: both operators have norm 1.

(Of course, this is just a sanity check of a much bigger calculation that is going wrong, I have a Hamiltonian which is parity invariant and the evolution operator U is not commuting with the parity operator).

Here are the two matrices:

A = SparseArray[{{1,1}->1,{2,33}->1,{3,17}->1,{4,49}->1,{5,9}->1,{6,41}->1,{7,25}->1,{8,57}->1,{9,5}->1,{10,37}->1,{11,21}->1,{12,53}->1,{13,13}->1,{14,45}->1,{15,29}->1,{16,61}->1,{17,3}->1,{18,35}->1,{19,19}->1,{20,51}->1,{21,11}->1,{22,43}->1,{23,27}->1,{24,59}->1,{25,7}->1,{26,39}->1,{27,23}->1,{28,55}->1,{29,15}->1,{30,47}->1,{31,31}->1,{32,63}->1,{33,2}->1,{34,34}->1,{35,18}->1,{36,50}->1,{37,10}->1,{38,42}->1,{39,26}->1,{40,58}->1,{41,6}->1,{42,38}->1,{43,22}->1,{44,54}->1,{45,14}->1,{46,46}->1,{47,30}->1,{48,62}->1,{49,4}->1,{50,36}->1,{51,20}->1,{52,52}->1,{53,12}->1,{54,44}->1,{55,28}->1,{56,60}->1,{57,8}->1,{58,40}->1,{59,24}->1,{60,56}->1,{61,16}->1,{62,48}->1,{63,32}->1,{64,64}->1}];
B = -I*SparseArray[{{1,1}->5,{2,2}->3,{2,3}->2,{3,2}->2,{3,3}->1,{3,5}->2,{4,4}->3,{4,6}->2,{5,3}->2,{5,5}->1,{5,9}->2,{6,4}->2,{6,6}->-1,{6,7}->2,{6,10}->2,{7,6}->2,{7,7}->1,{7,11}->2,{8,8}->3,{8,12}->2,{9,5}->2,{9,9}->1,{9,17}->2,{10,6}->2,{10,10}->-1,{10,11}->2,{10,18}->2,{11,7}->2,{11,10}->2,{11,11}->-3,{11,13}->2,{11,19}->2,{12,8}->2,{12,12}->-1,{12,14}->2,{12,20}->2,{13,11}->2,{13,13}->1,{13,21}->2,{14,12}->2,{14,14}->-1,{14,15}->2,{14,22}->2,{15,14}->2,{15,15}->1,{15,23}->2,{16,16}->3,{16,24}->2,{17,9}->2,{17,17}->1,{17,33}->2,{18,10}->2,{18,18}->-1,{18,19}->2,{18,34}->2,{19,11}->2,{19,18}->2,{19,19}->-3,{19,21}->2,{19,35}->2,{20,12}->2,{20,20}->-1,{20,22}->2,{20,36}->2,{21,13}->2,{21,19}->2,{21,21}->-3,{21,25}->2,{21,37}->2,{22,14}->2,{22,20}->2,{22,22}->-5,{22,23}->2,{22,26}->2,{22,38}->2,{23,15}->2,{23,22}->2,{23,23}->-3,{23,27}->2,{23,39}->2,{24,16}->2,{24,24}->-1,{24,28}->2,{24,40}->2,{25,21}->2,{25,25}->1,{25,41}->2,{26,22}->2,{26,26}->-1,{26,27}->2,{26,42}->2,{27,23}->2,{27,26}->2,{27,27}->-3,{27,29}->2,{27,43}->2,{28,24}->2,{28,28}->-1,{28,30}->2,{28,44}->2,{29,27}->2,{29,29}->1,{29,45}->2,{30,28}->2,{30,30}->-1,{30,31}->2,{30,46}->2,{31,30}->2,{31,31}->1,{31,47}->2,{32,32}->3,{32,48}->2,{33,17}->2,{33,33}->3,{34,18}->2,{34,34}->1,{34,35}->2,{35,19}->2,{35,34}->2,{35,35}->-1,{35,37}->2,{36,20}->2,{36,36}->1,{36,38}->2,{37,21}->2,{37,35}->2,{37,37}->-1,{37,41}->2,{38,22}->2,{38,36}->2,{38,38}->-3,{38,39}->2,{38,42}->2,{39,23}->2,{39,38}->2,{39,39}->-1,{39,43}->2,{40,24}->2,{40,40}->1,{40,44}->2,{41,25}->2,{41,37}->2,{41,41}->-1,{41,49}->2,{42,26}->2,{42,38}->2,{42,42}->-3,{42,43}->2,{42,50}->2,{43,27}->2,{43,39}->2,{43,42}->2,{43,43}->-5,{43,45}->2,{43,51}->2,{44,28}->2,{44,40}->2,{44,44}->-3,{44,46}->2,{44,52}->2,{45,29}->2,{45,43}->2,{45,45}->-1,{45,53}->2,{46,30}->2,{46,44}->2,{46,46}->-3,{46,47}->2,{46,54}->2,{47,31}->2,{47,46}->2,{47,47}->-1,{47,55}->2,{48,32}->2,{48,48}->1,{48,56}->2,{49,41}->2,{49,49}->3,{50,42}->2,{50,50}->1,{50,51}->2,{51,43}->2,{51,50}->2,{51,51}->-1,{51,53}->2,{52,44}->2,{52,52}->1,{52,54}->2,{53,45}->2,{53,51}->2,{53,53}->-1,{53,57}->2,{54,46}->2,{54,52}->2,{54,54}->-3,{54,55}->2,{54,58}->2,{55,47}->2,{55,54}->2,{55,55}->-1,{55,59}->2,{56,48}->2,{56,56}->1,{56,60}->2,{57,53}->2,{57,57}->3,{58,54}->2,{58,58}->1,{58,59}->2,{59,55}->2,{59,58}->2,{59,59}->-1,{59,61}->2,{60,56}->2,{60,60}->1,{60,62}->2,{61,59}->2,{61,61}->3,{62,60}->2,{62,62}->1,{62,63}->2,{63,62}->2,{63,63}->3,{64,64}->5}]/10;
$\endgroup$
18
  • 4
    $\begingroup$ I tell from the color bar that the plotted matrix is indistinguishable from the zero matrix in machine precision. $\endgroup$ Apr 8 '19 at 18:53
  • 1
    $\begingroup$ Again, can you please note the norm of the commutator? $\endgroup$
    – Roman
    Apr 8 '19 at 18:54
  • 3
    $\begingroup$ This means your numerical scheme is unstable. Look for a better (stable) propagation scheme, they exist. $\endgroup$
    – Roman
    Apr 8 '19 at 18:59
  • 1
    $\begingroup$ @MarceloBroinizi Then paste them in a pastebin. 2^8 = 256; that's hardly a big matrix by any measure. $\endgroup$
    – MarcoB
    Apr 9 '19 at 3:10
  • 1
    $\begingroup$ I managed to paste em in Wolfram cloud! $\endgroup$ Apr 9 '19 at 10:12
0
$\begingroup$

I cannot reproduce this problem. Defining the exact matrices from your upload (only removing the imaginary unit)

A = SparseArray[{{1,1}->1,{2,33}->1,{3,17}->1,{4,49}->1,{5,9}->1,{6,41}->1,{7,25}->1,{8,57}->1,{9,5}->1,{10,37}->1,{11,21}->1,{12,53}->1,{13,13}->1,{14,45}->1,{15,29}->1,{16,61}->1,{17,3}->1,{18,35}->1,{19,19}->1,{20,51}->1,{21,11}->1,{22,43}->1,{23,27}->1,{24,59}->1,{25,7}->1,{26,39}->1,{27,23}->1,{28,55}->1,{29,15}->1,{30,47}->1,{31,31}->1,{32,63}->1,{33,2}->1,{34,34}->1,{35,18}->1,{36,50}->1,{37,10}->1,{38,42}->1,{39,26}->1,{40,58}->1,{41,6}->1,{42,38}->1,{43,22}->1,{44,54}->1,{45,14}->1,{46,46}->1,{47,30}->1,{48,62}->1,{49,4}->1,{50,36}->1,{51,20}->1,{52,52}->1,{53,12}->1,{54,44}->1,{55,28}->1,{56,60}->1,{57,8}->1,{58,40}->1,{59,24}->1,{60,56}->1,{61,16}->1,{62,48}->1,{63,32}->1,{64,64}->1}];
B = SparseArray[{{1,1}->5,{2,2}->3,{2,3}->2,{3,2}->2,{3,3}->1,{3,5}->2,{4,4}->3,{4,6}->2,{5,3}->2,{5,5}->1,{5,9}->2,{6,4}->2,{6,6}->-1,{6,7}->2,{6,10}->2,{7,6}->2,{7,7}->1,{7,11}->2,{8,8}->3,{8,12}->2,{9,5}->2,{9,9}->1,{9,17}->2,{10,6}->2,{10,10}->-1,{10,11}->2,{10,18}->2,{11,7}->2,{11,10}->2,{11,11}->-3,{11,13}->2,{11,19}->2,{12,8}->2,{12,12}->-1,{12,14}->2,{12,20}->2,{13,11}->2,{13,13}->1,{13,21}->2,{14,12}->2,{14,14}->-1,{14,15}->2,{14,22}->2,{15,14}->2,{15,15}->1,{15,23}->2,{16,16}->3,{16,24}->2,{17,9}->2,{17,17}->1,{17,33}->2,{18,10}->2,{18,18}->-1,{18,19}->2,{18,34}->2,{19,11}->2,{19,18}->2,{19,19}->-3,{19,21}->2,{19,35}->2,{20,12}->2,{20,20}->-1,{20,22}->2,{20,36}->2,{21,13}->2,{21,19}->2,{21,21}->-3,{21,25}->2,{21,37}->2,{22,14}->2,{22,20}->2,{22,22}->-5,{22,23}->2,{22,26}->2,{22,38}->2,{23,15}->2,{23,22}->2,{23,23}->-3,{23,27}->2,{23,39}->2,{24,16}->2,{24,24}->-1,{24,28}->2,{24,40}->2,{25,21}->2,{25,25}->1,{25,41}->2,{26,22}->2,{26,26}->-1,{26,27}->2,{26,42}->2,{27,23}->2,{27,26}->2,{27,27}->-3,{27,29}->2,{27,43}->2,{28,24}->2,{28,28}->-1,{28,30}->2,{28,44}->2,{29,27}->2,{29,29}->1,{29,45}->2,{30,28}->2,{30,30}->-1,{30,31}->2,{30,46}->2,{31,30}->2,{31,31}->1,{31,47}->2,{32,32}->3,{32,48}->2,{33,17}->2,{33,33}->3,{34,18}->2,{34,34}->1,{34,35}->2,{35,19}->2,{35,34}->2,{35,35}->-1,{35,37}->2,{36,20}->2,{36,36}->1,{36,38}->2,{37,21}->2,{37,35}->2,{37,37}->-1,{37,41}->2,{38,22}->2,{38,36}->2,{38,38}->-3,{38,39}->2,{38,42}->2,{39,23}->2,{39,38}->2,{39,39}->-1,{39,43}->2,{40,24}->2,{40,40}->1,{40,44}->2,{41,25}->2,{41,37}->2,{41,41}->-1,{41,49}->2,{42,26}->2,{42,38}->2,{42,42}->-3,{42,43}->2,{42,50}->2,{43,27}->2,{43,39}->2,{43,42}->2,{43,43}->-5,{43,45}->2,{43,51}->2,{44,28}->2,{44,40}->2,{44,44}->-3,{44,46}->2,{44,52}->2,{45,29}->2,{45,43}->2,{45,45}->-1,{45,53}->2,{46,30}->2,{46,44}->2,{46,46}->-3,{46,47}->2,{46,54}->2,{47,31}->2,{47,46}->2,{47,47}->-1,{47,55}->2,{48,32}->2,{48,48}->1,{48,56}->2,{49,41}->2,{49,49}->3,{50,42}->2,{50,50}->1,{50,51}->2,{51,43}->2,{51,50}->2,{51,51}->-1,{51,53}->2,{52,44}->2,{52,52}->1,{52,54}->2,{53,45}->2,{53,51}->2,{53,53}->-1,{53,57}->2,{54,46}->2,{54,52}->2,{54,54}->-3,{54,55}->2,{54,58}->2,{55,47}->2,{55,54}->2,{55,55}->-1,{55,59}->2,{56,48}->2,{56,56}->1,{56,60}->2,{57,53}->2,{57,57}->3,{58,54}->2,{58,58}->1,{58,59}->2,{59,55}->2,{59,58}->2,{59,59}->-1,{59,61}->2,{60,56}->2,{60,60}->1,{60,62}->2,{61,59}->2,{61,61}->3,{62,60}->2,{62,62}->1,{62,63}->2,{63,62}->2,{63,63}->3,{64,64}->5}]/10;

we see that the commutator vanishes exactly,

A.B - B.A // Norm

0

With the numerical matrix exponential

U = MatrixExp[-I*B // N];

the commutator vanishes to numerical precision,

A.U - U.A // Norm

8.32424*10^-16

and even multiplying U a million times with itself (to simulate your propagation) still commutes with A pretty well:

F = Nest[U.# &, IdentityMatrix[Dimensions[U]], 10^6];
A.F - F.A // Norm

4.40179*10^-13

I suspect there's some other bug in your code.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.