特に,行列クラス・ライブラリは,高レベル・ライブラリと低レベル・ライブラリ から構成される。 低レベル・ライブラリは,約300個の関数から構成される。 データの高速アクセスを目的としているので,データのチェック等を行なわないため, 使用には注意が必要である。 データの演算とメモリ効率を高めるための最適化もこのライブラリで行なわれている。 高レベル・ライブラリは,低レベル・ライブラリの上に作られ, 約200個の関数から構成される。 高レベル・ライブラリの目的は,データの抽象化を行なう ユーザ・インタフェースを提供することである。 データの保存に必要なメモリ領域を管理し,データの属性に応じて適当な 低レベル・ライブラリの関数を呼び出す。
制御系のCADが開発されるにつれ,制御系設計アルゴリズムの計算を数値的に安定に 行なうことの重要性が認識され,多くの数値的に安定なアルゴリズムが提案された [11]。 最適レギュレータやオブザーバなどの線形制御理論を中心とする 制御系の解析・設計に必須であるLU分解,QR分解,QZ分解, 固有値問題,一般固有値問題,等の行列演算を数値的に安定に行なうアルゴリズムを まとめたものにLinpack[2]やEispack [4,15]がある。 これらのパッケージは,Fortranで記述されており,簡単に入手できるので, 多くの制御系CADの内部で利用されている[13,17]。 MATXは,Eispackに含まれるルーチンのうち固有値問題と一般固有値問題の ルーチンをC言語で書き直したものを使用している。