That is more of a question for stack exchange’s math group. But, I have the following from notes I have taken:

The matrix is column major (i.e. the first column represents the transformation’s scaled X axis, and array elements 0 to 3). The letter “H” is often used as a one character value for skew or shear transformation (with ‘S’ reserved for scaling). The lower case ‘h’ is for shear options. The two subscripted characters represent the geometric plane that the shear occurs in. My notes say the first letter indicates the axis that is un-sheared, and the second axis represents the one that will be sheared (although its all kind of relative). Any value not being sheared should be set to zero. Setting a single “h” value to one will result in axis with two values at 1 and one at zero, providing a 45 degree rotation of that axis with a length (i.e. scale factor) of root 2.

The amount of rotation of a single ‘h’ value change to an axis can be determined with:

`h_value = tan( θ )`

Where angle ‘θ’ is normally in the range of -89 to +89 degrees (tangent of 90 degrees is infinity). Keeping the other axis coordinate at 1 results in not only an axis directional change, but a length change as well. If italicizing text, it keeps the text at the same height while slanting it.

I don’t know what the original source website that I got the matrix from.

Although its okay to set more than one value, setting too many ‘h’ values to something other than zero can result in a rotation matrix that is more rotated than skewed or sheared.