Here is the answer I gave some time ago to a similar question:
Blank lines should be left above and below the matrix. I would not include the separation line under the headings because since there is a blank line, the "separation" is already handled. Also having both a separation line and a blank line under the headings just puts the headings one more line away from the column they identify.
Because the grouping signs are not actually part of the columns, I would align the column headings with the first cell of the value.