Tietokoneohjelmoinnin matriisimatriisi on tietorakenne, joka sisältää toisen taulukon jokaisessa indeksissä. Tämä tarkoittaa, että ylemmän tason taulukon jokaisen peräkkäisen osoitteen peruspiste on itse asiassa jokaisen aliryhmän ensimmäinen peruspiste. Kukin aliryhmä voi vuorostaan olla myös matriisimatriisi, joka mahdollistaa matriisien pesimisen niin syvälle kuin tarvitaan. Vaikka käsite saattaa tuntua monimutkaiselta, on itse asiassa hyvin yksinkertaisia ilmoitus- ja dereferenssimerkintöjä, joiden avulla joukko matriiseja voidaan ilmaista erittäin selvästi ohjelman sisällä. Yksi yleisimmistä matriisiryhmän käyttötarkoituksista on tietojen tallentaminen ruudukkomalliksi, kuten voi tapahtua kuvan yhteydessä.
Taulukko on sarja tietoelementtejä, jotka useimmissa ohjelmointikielissä on tallennettu peräkkäisiin muistipaikkoihin. Taulukossa pidettyä peruspistettä kutsutaan elementiksi, ja jokainen elementti asettuu taulukon paikkaan, joka tunnetaan indeksinä. Taulukon alku on indeksi nolla, seuraava on indeksi yksi ja niin edelleen. Kokonaislukujen tai merkkien säilyttämisen sijaan matriisimatriisi sisältää toisen täydellisen taulukon jokaisessa indeksissä. Nämä aliryhmät kussakin hakemistossa voivat myös pitää matriiseja ja tarjota mahdollisuuden luoda monimutkaisia puumaisia tietorakenteita tarpeen mukaan.
Yksi matriisiryhmän yleisimmistä käyttötavoista on tallentaa tietoja, jotka voidaan indeksoida ruudukosta sarake- ja rivikoordinaateilla. Tätä voidaan käyttää laskentataulukon tietojen, ruudulla näytettävän kaksiulotteisen (2D) kuvan tai jopa shakkilaudan tietojen esittämiseen. Kolmen tason syviä matriiseja, eli matriisia, joka sisältää matriiseja, joilla on kolmannen tason matriiseja, voidaan käyttää kuution tietojen esittämiseen tai sitä voidaan käyttää edustamaan tietomatriisia, jossa jokaisessa paikassa on enemmän kuin yksi attribuutti. Yleensä taulukkoja, jotka ovat syvempiä kuin kolme tasoa, ei käytetä, koska sama toiminto voidaan toteuttaa yksinkertaisemmin käyttämällä rakenteita tai luokkia.
Matriisiryhmän ohjelmointimerkinnät on paljon helpompi tulkita kuin voisi odottaa. Useimmat ohjelmointikielet käyttävät hakasulkeita taulukon hakemiston merkitsemiseen, ja moniulotteinen taulukko ei eroa toisistaan, paitsi että ylimääräinen hakasarja lisätään aliryhmän indeksoimiseksi. Esimerkiksi yksiulotteinen matriisi voitaisiin kirjoittaa nimellä “array [2]”, joka merkitsee elementtiä toisessa taulukon indeksipaikassa. Matriisimatriisi voitaisiin kirjoittaa samalla tavalla – taulukko [2] [1] – joka osoittaa peruspisteen elementin toisen taulukon ensimmäisessä indeksissä.