Main Content

speye

Sparse identity matrix

Description

S = speye returns a sparse scalar 1.

S = speye(n) returns a sparse n-by-n identity matrix, with ones on the main diagonal and zeros elsewhere.

example

S = speye(n,m) returns a sparse n-by-m matrix, with ones on the main diagonal and zeros elsewhere.

example

S = speye(sz) returns a matrix with ones on the main diagonal and zeros elsewhere. The size vector sz defines size(S). For example, speye([2 3]) returns a 2-by-3 matrix.

example

Examples

collapse all

Create a 1000-by-1000 square sparse identity matrix and view the sparsity pattern.

I = speye(1000);
spy(I)

Figure contains an axes object. The axes object with xlabel nz = 1000 contains a line object which displays its values using only markers.

The result is the same as sparse(eye(1000)), but this latter version requires temporary storage for the full representation before it is converted to sparse storage.

Create a 400-by-800 sparse identity matrix and view the pattern of nonzeros.

S = speye(400,800);
spy(S)

Figure contains an axes object. The axes object with xlabel nz = 400 contains a line object which displays its values using only markers.

This command is equivalent to speye([400 800]).

Input Arguments

collapse all

Dimension sizes, specified as nonnegative integer scalars.

  • If n is the only input argument, then S is an n-by-n identity matrix.

  • If n or m is 0, then S is an empty matrix.

  • If n or m is negative, then it is treated as 0.

Example: speye(4) creates a 4-by-4 identity matrix.

Example: speye(3,6) creates a 3-by-6 identity matrix.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Dimension sizes, specified as a two-element row vector. The row vector is of the form [numRows numCols].

  • If an element of sz is 0, then S is an empty matrix.

  • If an element of sz is negative, then the element is treated as 0.

Example: speye([4 5]) creates a 4-by-5 matrix and is equivalent to speye(4,5).

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced before R2006a