# findnz

findnz(A)

Return a tuple `(I, J, V)`

where `I`

and `J`

are the row and column indexes of the non-zero values in matrix `A`

, and `V`

is a vector of the non-zero values.

## Examples

In the Julia programming language, the function `findnz(A)`

returns a tuple `(I, J, V)`

where `I`

and `J`

are the row and column indexes of the non-zero values in matrix `A`

, and `V`

is a vector of the non-zero values.

**Example 1: Find non-zero elements in a matrix**

```
julia> A = [1 0 0; 0 2 0; 0 0 3];
julia> I, J, V = findnz(A)
([1, 2, 3], [1, 2, 3], [1, 2, 3])
```

In this example, the matrix `A`

has non-zero elements at positions `(1, 1)`

, `(2, 2)`

, and `(3, 3)`

. The variables `I`

, `J`

, and `V`

store the row indices, column indices, and non-zero values respectively.

**Example 2: Find non-zero elements in a sparse matrix**

```
julia> using SparseArrays
julia> A = sparse([1, 2, 3], [2, 1, 3], [4, 5, 6]);
julia> I, J, V = findnz(A)
([1, 2, 3], [2, 1, 3], [4, 5, 6])
```

In this example, the sparse matrix `A`

has non-zero elements at positions `(1, 2)`

, `(2, 1)`

, and `(3, 3)`

. The `findnz`

function correctly returns the row indices, column indices, and non-zero values.

**Mistake example: Trying to find non-zero elements in an empty matrix**

```
julia> A = zeros(0, 0);
julia> I, J, V = findnz(A)
ERROR: DimensionMismatch("dimensions must match")
```

In this example, an empty matrix `A`

is used with `findnz`

. However, since the dimensions of the matrix are empty, it results in a `DimensionMismatch`

error. It is important to ensure that the matrix has non-zero elements before using `findnz`

.

## See Also

find, findfirst, findin, findlast, findmin, findn, findnext, findnz, findprev, rsearch, rsearchindex, searchsorted, searchsortedfirst, searchsortedlast, sort, sort!, sortcols, sortperm, sortperm!,## User Contributed Notes

### Add a Note

The format of note supported is markdown, use triple backtick to start and end a code block.