Different matrix elements in two methods for the same operator

Topics related to Spinach package
Post Reply
RS1
Posts: 3
Joined: Fri Oct 24, 2025 6:40 am

Different matrix elements in two methods for the same operator

Post by RS1 »

Dear all,
I constructed the same operator for a two 1H system using the 'zeeman-liouv' and the 'sphten-liouv' basis. When I convert the matrix representation of 'sphten-liouv', to the Zeeman basis, I get different elements in the two methods. Basically there is a factor of 2 multiplied in the 'sphten-liouv' case. Where am I making a mistake here ? This is done using Spinach-2.10-1.

Code: Select all

% Liouville space, zeeman
bas.formalism = 'zeeman-liouv';
bas.approximation = 'none';

% Spinach housekeeping
spin_system=create(sys,inter);
spin_system=basis(spin_system,bas);

% LLS operator start and detect state
llsop= 2*(state(spin_system,{'Lx','Lx'},{1,2}, 'exact')...
          +state(spin_system,{'Ly','Ly'},{1,2}, 'exact')...
          +state(spin_system,{'Lz','Lz'},{1,2},'exact'));
llsop= llsop/norm(llsop);
llsop= reshape(llsop,4,4);
disp(full(llsop))
Answer: 0.2887 0 0 0
0 -0.2887 0.5774 0
0 0.5774 -0.2887 0
0 0 0 0.2887

Whereas

Code: Select all

% Basis set
bas.formalism='sphten-liouv';
bas.approximation='none';

% Spinach housekeeping
spin_system=create(sys,inter);
spin_system=basis(spin_system,bas);

% LLS operator start and detect state
llsop= 2*(state(spin_system,{'Lx','Lx'},{1,2}, 'exact')...
          +state(spin_system,{'Ly','Ly'},{1,2}, 'exact')...
          +state(spin_system,{'Lz','Lz'},{1,2},'exact'));

llsop= llsop/norm(llsop);

% check how LLS operator looks like in Zeeman basis
P=sphten2zeeman(spin_system);
LLS=P*llsop;
LLS=reshape(LLS,4,4);
disp(full(LLS))
Answer:

0.5774 0 0 0
0 -0.5774 1.1547 0
0 1.1547 -0.5774 0
0 0 0 0.5774
kuprov
Posts: 201
Joined: Mon Mar 29, 2021 4:26 pm

Re: Different matrix elements in two methods for the same operator

Post by kuprov »

Not reproduced locally. The enclosed test across all formalisms runs correctly. Can you run the enclosed file on your end to see if works?
Attachments
state_consistency_2.m
(1.61 KiB) Downloaded 1576 times
RS1
Posts: 3
Joined: Fri Oct 24, 2025 6:40 am

Re: Different matrix elements in two methods for the same operator

Post by RS1 »

Dear Ilya,
Thanks for your response. Here is what I notice:
In the case of 'zeeman-liouv' and 'sphten-liouv', if the Op{2} and Op{3} are divided by the corresponding norms, then the test fails. This is where my instance was also failing. Without normalising, everything looks fine.

In the case of 'zeeman-hlib', division by the norm does not work with the message : "Sparse norm(S,2) is not available."

However, if one wants to see the evolution of any arbitrary operator, it is necessary to normalise it before, right ? Then I don't understand why the two representations look different. Please comment.
kuprov
Posts: 201
Joined: Mon Mar 29, 2021 4:26 pm

Re: Different matrix elements in two methods for the same operator

Post by kuprov »

Ah, that's a long story. Operators and states in spin dynamics should never be normalised. Technical details are in Section 1.6.3.3 ("Normalisation-Commutation Dilemma") here:

https://link.springer.com/chapter/10.10 ... -05607-9_1

Briefly, the SU(2) commutation relations like [Sx,Sy]=i*Sz break down when spin operators are normalised because the norm depends on the spin quantum number but the commutation relations do not. An attempt to normalise then plays havoc with all subsequent dynamics because commutators are responsible for the time evolution. A simple act of adding a non-interacting spin on the other end of the universe changes all norms throughout the formalism.

For this reason, operators and states returned by Spinach strictly follow the commutation relations; this necessarily means that they are not normalised. The projector from Hilbert to Liouville space preserves commutation relations.
RS1
Posts: 3
Joined: Fri Oct 24, 2025 6:40 am

Re: Different matrix elements in two methods for the same operator

Post by RS1 »

Dear Ilya,
Thanks a lot for the clarifications...
Post Reply