Tomando curl numéricamente de una escritura hamiltoniana en el espacio de Fourier

Tengo un hamiltoniano dado en 2D k-space

(1) H = k [ a k + b k + ] [ h 11 h 12 h 21 h 22 ] [ a k b k ]
las cantidades h i j = h i j ( k X , k y ) es decir, depender de k X , k y . Y un operador actual se define como
(2) j ( k ) = mi v ^ X = mi H k X
quiero calcular la cantidad
(3) A = k × j ( k )
Puedo encontrar numéricamente j ( k ) para cada punto k X , k y del espacio de Fourier. Pero para encontrar rizo de j ( k ) , Necesito k ^ X dirección y k ^ y componente de dirección de j ( k ) es decir, por supuesto
(4) j ( k ) = j X k ^ X + j y k ^ y
¿Hay alguna manera de encontrar estos j X y j y componentes de j ( k ) ?

Ya veo, en la siguiente publicación calculan curl de j ( k ) (Ec. 13 y Figura 4), si no lo estoy haciendo bien, ¿cuál es el camino correcto?

Origen del efecto Hall del espín magnético: vorticidad de la corriente de espín en el mar de Fermi

Respuestas (1)

Respondiendo a mi propia pregunta: calculando ( 2 ) , en realidad solo obtengo j X . Llegar j y , debo calcular mi v y = mi H k y . Y junto con j X y j y , puedo calcular el rizo usando ( 4 ) y ( 3 ) . (Utilicé la función curl() de MATLAB para obtener curl numérico).