Hi, @AlphaBetaGamma96, thanks for replying!
I don’t have any code to reproduce the issue, because I’m still trying to figure out how to write the hessian part 
I think my previous post was a bit confusing, sorry about that. I’ll try to make it more understandable.
Let’s say I’m computing embeddings of words, and my input is made entirely of trigrams (triples of words).
I have a function φ that can compute the likelihood of a trigram using the embeddings of the corresponding words.
What I am trying to do is to compute the Hessian matrix of the likelihood of the trigrams that contain a certain word, with respect to the embedding of that word.
So item_x is the word I want to get the Hessian with respect to; e_x is its trained embedding; x_triples is the list of trigrams that feature the word item_x.
I hope this clarifies your first question, so I move to the others.
Second question: no, actually I just need it to run on a specific word at a time, so for one embedding.
It is for an explainability project, so I only need it for the specific embedding I am trying to explain (I won’t try to explain them all).
Third question: in mu example e_i, e_j, and e_k were meant to be three separate embeddings.
Each of them was supposed to be monodimensional and with size 200.