Matrix .ufm files are held in a “zipped” format which is invisible to the user and whose objective is to minimise the size of the files. For example, if a matrix row consists entirely of zeros the zipped format records this with a single marker rather than n (number of columns) distinct values. A number of other similar “tricks” are employed. This means that, for example, an observed trip matrix, 95% of whose cells might be zero, only requires marginally more than 5% of a “full” matrix.
A further “trick” introduced in Release 11.6 and which applies to blocked matrices only is to identify those segments of a matrix where all the elements within a particular row/block are of necessity zero due to their location. This occurs most frequently with matrices from TAC networks where certain sub-matrices may be entirely empty; for example, if a particular user class/level is not liable to pay any TAC charges then all blocks beyond block 1 which refer to various charges paid are necessarily empty. Similarly, an origin row within a particular block may be all zero if the origin lies within the particular TAC relevant to that block.
Those segments of a matrix which are identified as all-zero are not explicitly included in the .UFM file but are assumed to consist of all zero cells. This trick can substantially reduce the size of the output UFM files, in particular with multiple TAC networks.