title: How to save space and time with a mirrored NxN array
body: <p>Let's say I have an N x N array of numbers, with the property that the [ i ][ j ] number is always equal to the [ j ][ i ] number. Ie:</p>
  
  <pre><code>[ 0 3 9 2 ]
  [ 3 0 5 6 ]
  [ 9 5 0 1 ]
  [ 2 6 1 0 ]
  </code></pre>
  
  <p>Is there a representation I can use to save space and time in accessing elements? It would cut the array size in half, and if possible, reduce the cache miss penalty by indexing [ i ][ j ] and [ j ][ i ] to the same location in memory.</p>