A data structure referred to as the auxiliary store is provided to support temporary information that is required by matrix algorithms but not stored in the matrix relations themselves. The auxiliary store is implemented in a manner that takes advantage of unused heap space at execution time. If the heap is big enough to accommodate the entire auxiliary store, an array of structures is allocated and the store is maintained in core. If available heap space is inadequate, a relation is allocated and the auxiliary store is maintained in the database cache. Access to the in-core version of the auxiliary store requires 13.8 sec. Heap access time does not vary with the size of the store.