Macierz Grama – macierz związana z układem wektorów danej przestrzeni unitarnej, ułatwiająca opis tej przestrzeni; nosi ona nazwisko duńskiego matematyka Jørgena Pedersena Grama.
Choć zwykle wykorzystuje się do tego celu objętości prostopadłościanów wielowymiarowych, to do zdefiniowania miary Lebesgue’a na przestrzeni euklidesowej (a dokładniej przy określaniu miary zewnętrznej, która jest krokiem pośrednim) można użyć objętości równoległościanów wielowymiarowych (wyznaczanych przez dany układ wektorów) definiowanej za pomocą macierzy Grama. Objętość równoległościanu pojawia się także przy całkowaniu przez podstawienie (zamianie zmiennych) w całce Lebesgue’a, często jako tzw. forma objętości (antysymetryczna forma wieloliniowa najwyższego rzędu w danej przestrzeni liniowej), czyli zorientowany element objętości.
Jednym z najistotniejszych praktycznych zastosowań tej macierzy kwadratowej jest możliwość stwierdzenia, czy dany układ
wektorów przestrzeni
-wymiarowej jest liniowo niezależny – macierz ta musi mieć dodatni wyznacznik (dla
wystarczy sprawdzić niezerowość wyznacznika samego układu wektorów) – geometrycznie odpowiada to sprawdzeniu, czy dany układ wektorów rozpina równoległościan o dodatniej objętości; kryterium to wykorzystuje się m.in. określania sterowalności i obserwowalności liniowego układu sterowania.
Niech dany będzie układ
wektorów
-wymiarowej przestrzeni unitarnej
nad ciałem liczb rzeczywistych bądź zespolonych. Wektory układu
wyrażone w bazie
można wpisać jako kolumny macierzy
(zob. wektory kolumnowe)[a].
Macierzą Grama związaną z układem
bądź macierzą
nazywa się macierz kwadratową stopnia
nad ciałem liczb rzeczywistych
![{\displaystyle G(\mathbf {A} )=G(A)=G(\mathbf {a} _{1},\dots ,\mathbf {a} _{k}):={\big [}\langle \mathbf {a} _{i},\mathbf {a} _{j}\rangle {\big ]}_{ij}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/07c6e79cdd1a5e190e1e8c0406328de180933edd)
Wyznacznik tej macierzy nazywa się wyznacznikiem Grama wspomnianego układu wektorów (wspomnianej macierzy),

W przypadku rzeczywistym z symetryczności dwuliniowego iloczynu skalarnego wynika
(w przypadku zespolonym
na mocy hermitowskości półtoraliniowego iloczynu skalarnego) dla dowolnych
a więc macierz Grama również jest symetryczna (hermitowska, czyli samosprzężona). Niżej przedstawiono własności w przypadku zespolonym; dla przypadku rzeczywistego wystarczy pominąć kreski nad elementami i macierzami oznaczające sprzężenie zespolone, a sprzężoną hermitowsko macierz
należy traktować jak macierz transponowaną
Dla dowolnej macierzy
zachodzi

tzn.
oraz
są macierzami Grama układu wektorów
wpisanego odpowiednio jako kolumny i wiersze macierzy
[b].
Jeśli
czyli
jest kwadratowa, to wyznacznik macierzy Grama jest nieujemną wielkością rzeczywistą, gdyż

Układ
jest liniowo niezależny wtedy i tylko wtedy, gdy wyznacznik
[c].
O tym, które z macierzy hermitowskich (symetrycznych) są macierzami Grama, czy też dokładniej: czy istnieje taka przestrzeń unitarna, dla której dana macierz hermitowska (symetryczna) jest macierzą Grama pewnej bazy tej przestrzeni, mówi kryterium Sylvestera. Formalnie warunek ten umożliwia sprawdzenie, czy dana macierz dwuliniowej formy hermitowskiej (symetrycznej) jest dodatnio określona – forma ta wówczas jest iloczynem skalarnym na tej przestrzeni.
Niech dany będzie liniowo niezależny układ wektorów
przestrzeni unitarnej
wymiaru
Jeśli
oznacza
-wymiarowy równoległościan rozpięty na
to jego
-wymiarową objętością nazywa się liczbę

Ponadto przyjmuje się
dla
oraz
dla
Niech
Jeśli
jest rzutem prostopadłym wektora
na dopełnienie ortogonalne
podprzestrzeni rozpiętej przez
to wtedy
[d].
Dla przestrzeni rzeczywistych twierdzenie to można wysłowić w przypadku dwuwymiarowym w następujący sposób: pole równoległoboku równe jest iloczynowi długości podstawy i wysokości; w przypadku trójwymiarowym: objętość równoległościanu jest równa iloczynowi pola podstawy i wysokości. W ogólności zaś:

Zgodnie z uwagami z poprzedniej sekcji, jeśli
ze standardowym iloczynem skalarnym, to dla dowolnej macierzy odwracalnej
moduł wyznacznika

gdzie
dla
można jest
-wymiarową objętością równoległościanu w
rozpiętego na kolumnach bądź wierszach macierzy
Biorąc pod uwagę orientację bazy
wyznacznik
należy interpretować jako
-wymiarową zorientowaną objętość wspomnianego równoległościanu. Jeśli macierz
nie jest odwracalna, to jej wiersze (i kolumny) są liniowo zależne, skąd
Analogiczną interpretację uzyskuje się w przypadku przestrzeni
Wybór iloczynu skalarnego i orientacji w
-wymiarowej przestrzeni liniowej
nad
umożliwia podanie metody dopełniania liniowo niezależnego układu
wektorów do bazy tej przestrzeni. Iloczynem wektorowym liniowo niezależnego układu
nazywa się taki wektor
zorientowanej przestrzeni unitarnej rzeczywistej, że
- jeśli
jest liniowo zależny, to 
- jeśli
jest liniowo niezależny, to
oraz
przy czym baza
jest dodatnio zorientowana.
Innymi słowy wektor
oznaczany zwykle
jest prostopadły do każdego z wektorów układu
jego moduł jest równy objętości równoległoboku rozpiętego na
a dołączony na końcu
tworzy z wektorami tego układu bazę dodatnio zorientowaną.
W przypadku zespolonych przestrzeni unitarnych iloczyn skalarny jest dodatnio określoną (a stąd niezdegenerowaną) półtoraliniową formą hermitowską (tzn. samosprzężoną), w przestrzeniach rzeczywistych iloczyn skalarny jest dodatnio określoną dwuliniową formą symetryczną. Rezygnując z warunku dodatniej określoności i hermitowskości (bądź symetryczności) można rozpatrywać przestrzeń z formą półtoraliniową (dwuliniową) – macierzy Grama odpowiada wtedy macierz tej formy w ustalonej bazie. Przestrzeń liniową z symetryczną formą dwuliniową nazywa się przestrzenią ortogonalną. Badanie form kwadratowych pochodzących od form dwuliniowych umożliwia przykładowo klasyfikację właściwych hiperpowierzchni właściwych stopnia 2 nazywanych kwadrykami, w tym hiperpowierzchni właściwych przestrzeni euklidesowych wymiaru 2 i 3, tzn. pewnych krzywych w przestrzeni
oraz pewnych powierzchni w
Iloczyn mieszany trzech wektorów trójwymiarowej przestrzeni liniowej można zdefiniować za pomocą wyznacznika macierzy, w której wektory te są kolumnami (bądź wierszami) albo niezależnie od układu współrzędnych za pomocą iloczynu zewnętrznego
tych wektorów. Podobnie dla równoległościanu zorientowanego

można określić również jego
-wymiarową objętość wzorem

skąd wartość wyznacznika Grama można określić niezależnie od współrzędnych wektorów jako

- ↑ Każdy z wektorów układu
można wyrazić w bazie ortonormalnej
tzn.
dla
Wówczas
jest macierzą typu
- ↑ Niech wektory
wyrażone w bazie ortonormalnej
odpowiadają kolumnom macierzy
Ponieważ
dla
oraz
w pozostałych przypadkach, to
jest wyrazem
macierzy 
- ↑ Niech
będzie podprzestrzenią unitarną rozpiętą przez układ wektorów
o współrzędnych w bazie ortonormalnej
Jeśli układ
jest liniowo niezależny, to
a więc jest on bazą przestrzeni
i macierz
jest odwracalna, gdyż
Stąd
czyli
Z drugiej strony jeśli układ
jest liniowo zależny, to liniowo zależne są również kolumny
Z interpretacji mnożenia macierzy metodą współczynniki-wektory kolumny macierzy
są kombinacjami liniowymi kolumn macierzy
skąd wynika, że kolumny
również są liniowo zależne, a więc
- ↑ Niech
wtedy
Niech
gdzie
zaś
Wówczas wyrazy postaci
w ostatnim wierszu oraz wyrazy postaci
w ostatniej kolumnie rozkładają się na sumy
oraz
Składniki zawierające
można pominąć przy liczeniu wyznacznika, gdyż ostatni wiersz je zawierający jest kombinacją liniową pierwszych
wierszy macierzy
(gdyż
jest kombinacją liniową
), podobnie ma się rzecz z ostatnią kolumną. W związku z tym
![{\displaystyle \mathbf {G} (A)=\left[{\begin{matrix}\langle \mathbf {a} _{1},\mathbf {a} _{1}\rangle &\dots &\langle \mathbf {a} _{1},\mathbf {a} _{k-1}\rangle &\langle \mathbf {c} ,\mathbf {a} _{1}\rangle \\\vdots &\ddots &\vdots &\vdots \\\langle \mathbf {a} _{k-1},\mathbf {a} _{1}\rangle &\dots &\langle \mathbf {a} _{k-1},\mathbf {a} _{k-1}\rangle &\langle \mathbf {c} ,\mathbf {a} _{k-1}\rangle \\\langle \mathbf {c} ,\mathbf {a} _{1}\rangle &\dots &\langle \mathbf {c} ,\mathbf {a} _{k-1}\rangle &\langle \mathbf {c} ,\mathbf {c} \rangle \end{matrix}}\right],}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1eed471d263623ccd69206bfb39f2720cc950056)
a ponieważ
czyli
dla
to