Starting from the vector Psi_0
I define the propagated vector as Psi (t) = exp{-iHt} Psi_0
, where H
is the Adjacency matrix (but I think it is irrelevant to my problem here). I need to calculate
1/tau * int^tau_0 |<j|psi(t)>|^2 dt
I tried to do this in the following way but it doesn't work
psi_0 = diag(eye(N))/N;
Psi_t = zeros(N);
Psi_sqared = @(t) (expm(1j*A*t)*psi_0).*(expm(-1j*A*t)*psi_0);
c_tqw = integral(Psi_sqared, 0, 10000)/10000;
The error is the following
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the
second matrix. To perform elementwise multiplication, use '.*'.
Error in centrality_measure>@(t)(expm(1j*A*t)*psi_0).*(expm(-1j*A*t)*psi_0)
Error in integralCalc/iterateScalarValued (line 314)
fx = FUN(t);
Error in integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
Error in centrality_measure (line 75)
c_tqw = integral(Psi_sqared, 0, 10000)/10000;
Any suggestion to avoid this error?