According to the mathematical formulation from wikipedia-lstm-math-equation, as shown below,

there should be only hidden state h_t and cell state c_t. However, when I tried to write RNN code on Keras, there are three: lstm_output, state_h and state_c.
I am now wondering what is the mathematical formulation of lstm_output?
Here is my code:
from keras.layers import Input, LSTM
lstm_input = Input(shape=(28, 10))
lstm_output, state_h, state_c = LSTM(units=32,
return_sequences=True,
return_state=True,
unroll=True)(lstm_input)
print(lstm_output, state_h, state_c)
and it gives
Using TensorFlow backend.
(<tf.Tensor 'lstm_1/transpose_1:0' shape=(?, 28, 32) dtype=float32>, <tf.Tensor 'lstm_1/mul_167:0' shape=(?, 32) dtype=float32>, <tf.Tensor 'lstm_1/add_221:0' shape=(?, 32) dtype=float32>)