The Wikipedia article on collision detection has this to say on the topic of matrices and collision detection;
So we reduce the problem to that of tracking, from frame to frame, which intervals do intersect. We have three lists of intervals (one for each axis) and all lists are the same length (since each list has length n, the number of bounding boxes.) In each list, each interval is allowed to intersect all other intervals in the list. So for each list, we will have an n \times n matrix M=(m_{ij}) of zeroes and ones: m_{ij} is 1 if intervals i and j intersect, and 0 if they do not intersect.
By our assumption, the matrix M associated to a list of intervals will remain essentially unchanged from one time step to the next. To exploit this, the list of intervals is actually maintained as a list of labeled endpoints. Each element of the list has the coordinate of an endpoint of an interval, as well as a unique integer identifying that interval. Then, we sort the list by coordinates, and update the matrix M as we go. It's not so hard to believe that this algorithm will work relatively quickly if indeed the configuration of bounding boxes does not change significantly from one time step to the next.
So it seems to me that you would use the matrices to store the results of various intersections gotten by more traditional calculations - IE, comparing points against bounding cubes.