Skip to content

DiagonalMatrix ​

A square matrix with list down the k-th diagonal (default the main diagonal), zero elsewhere.

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageDiagonalMatrix!
DiagonalMatrix(list)an n×n matrix (n = Length(list)) with list on the main diagonal
DiagonalMatrix(list, k)an (n + |k|)×(n + |k|) matrix with list on the k-th diagonal (k > 0 above, k < 0 below)
Typed signatures
TypePackageApplies
(list<any>, integer?) -> list<any>combinatoricsalways

Domain: Collections

Details
  • The result grows with k rather than staying n×n — Wolfram's own convention, kernel-checked (DiagonalMatrix[{1, 2}, 1] is 3×3, not 2×2).

Examples

Basic #
live ↗
InDiagonalMatrix([1,2,3])\mathrm{DiagonalMatrix}(\bigl\lbrack1, 2, 3\bigr\rbrack)Out[[1,0,0],[0,2,0],[0,0,3]]\bigl\lbrack\bigl\lbrack1, 0, 0\bigr\rbrack, \bigl\lbrack0, 2, 0\bigr\rbrack, \bigl\lbrack0, 0, 3\bigr\rbrack\bigr\rbrack
Scope #
live ↗
InDiagonalMatrix([1,2],1)\mathrm{DiagonalMatrix}(\bigl\lbrack1, 2\bigr\rbrack, 1)Out[[0,1,0],[0,0,2],[0,0,0]]\bigl\lbrack\bigl\lbrack0, 1, 0\bigr\rbrack, \bigl\lbrack0, 0, 2\bigr\rbrack, \bigl\lbrack0, 0, 0\bigr\rbrack\bigr\rbrack
live ↗
InDiagonalMatrix([1,2],−1)\mathrm{DiagonalMatrix}(\bigl\lbrack1, 2\bigr\rbrack, -1)Out[[0,0,0],[1,0,0],[0,2,0]]\bigl\lbrack\bigl\lbrack0, 0, 0\bigr\rbrack, \bigl\lbrack1, 0, 0\bigr\rbrack, \bigl\lbrack0, 2, 0\bigr\rbrack\bigr\rbrack
Properties #

Places a list on the diagonal with zeros elsewhere, symbols included

live ↗
InDiagonalMatrix([a,b,c,d])\mathrm{DiagonalMatrix}(\bigl\lbrack a, b, c, d\bigr\rbrack)Out[[a,0,0,0],[0,b,0,0],[0,0,c,0],[0,0,0,d]]\bigl\lbrack\bigl\lbrack a, 0, 0, 0\bigr\rbrack, \bigl\lbrack0, b, 0, 0\bigr\rbrack, \bigl\lbrack0, 0, c, 0\bigr\rbrack, \bigl\lbrack0, 0, 0, d\bigr\rbrack\bigr\rbrack
live ↗
InThread(Shape(DiagonalMatrix(list,k))=Length(list)+∣k∣)\mathrm{Thread}(\mathrm{Shape}(\mathrm{DiagonalMatrix}(\mathrm{list}, k))=\mathrm{Length}(\mathrm{list})+\vert k\vert)OutShape(DiagonalMatrix(list,k))=∣k∣+Length(list)\mathrm{Shape}(\mathrm{DiagonalMatrix}(\mathrm{list}, k))=\vert k\vert+\mathrm{Length}(\mathrm{list})
live ↗
InIdentityMatrix(5)=DiagonalMatrix(Repeat(1,5))\mathrm{IdentityMatrix}(5)=\mathrm{DiagonalMatrix}(\mathrm{Repeat}(1, 5))OutTrue\mathrm{True}
live ↗
InDiagonalMatrix(IdentityMatrix(5))\mathrm{DiagonalMatrix}(\mathrm{IdentityMatrix}(5))Out[[[1,0,0,0,0],0,0,0,0],[0,[0,1,0,0,0],0,0,0],[0,0,[0,0,1,0,0],0,0],[0,0,0,[0,0,0,1,0],0],[0,0,0,0,[0,0,0,0,1]]]\bigl\lbrack\bigl\lbrack\bigl\lbrack1, 0, 0, 0, 0\bigr\rbrack, 0, 0, 0, 0\bigr\rbrack, \bigl\lbrack0, \bigl\lbrack0, 1, 0, 0, 0\bigr\rbrack, 0, 0, 0\bigr\rbrack, \bigl\lbrack0, 0, \bigl\lbrack0, 0, 1, 0, 0\bigr\rbrack, 0, 0\bigr\rbrack, \bigl\lbrack0, 0, 0, \bigl\lbrack0, 0, 0, 1, 0\bigr\rbrack, 0\bigr\rbrack, \bigl\lbrack0, 0, 0, 0, \bigl\lbrack0, 0, 0, 0, 1\bigr\rbrack\bigr\rbrack\bigr\rbrack
About
Examples7
Checked againstWolfram Language 5 agree1 differ1 unevaluated
CrosswalkWolfram Language

See also: HilbertMatrix