$M=(E,{\cal B})$を、基によって定義された マトロイドとする。
$|E|=m,\,\rank M=r$とする。 このとき$E=\{0,1,\ldots,m-1\}$としても一般性を失わない。
マトロイドに関する操作をコンピュータプログラムとして実現するためには、 部分集合に対する集合算を効率良く実行しなければならない。 一方で多くのプログラミング言語では$\{0,1\}$の列(ビット列)の論理演算が 予め用意されており、しかも高速に実行されることが期待される。
そこで $E$の部分集合を、以下のようにビット列として表現することにする。
$E$の部分集合$A$に対して、$\{\chi_A(i)\}_{0\le i < m}$を
\[ \chi_A(i)=\left\{ \begin{array}{ll} 0 & (i \not\in A) \\ 1 & (i \in A) \end{array} \right. \]によって定める。
$n=|{\cal B}|$とし、${\cal B}=\{B_0,B_1,\ldots,B_{n-1}\}$であるとする。 $M$に対して第$p$行($0\le p < n$)が$\chi_{B_p}$であるような $n\times m$行列${\cal M}$が定まる。
逆にこの条件をみたす行列から元のマトロイドを再構成することは容易である。 結局元数$m$の集合上の階数$r$のマトロイドは上の2条件をみたす$m$列の行列で表わされ、 さらに同型なマトロイドに対応する行列は、 行の置換および列の置換を施すことによって得られることがわかる。