# Linear Algebra NDArray API

```eval_rst
    .. currentmodule:: mxnet.ndarray.linalg
```

## Overview

This document lists the linear algebra routines of the *n*-dimensional array package:

```eval_rst
.. autosummary::
    :nosignatures:

    mxnet.ndarray.linalg
```

The `Linear Algebra NDArray` API, defined in the `ndarray.linalg` package, provides
imperative linear algebra tensor operations on CPU/GPU.

In the rest of this document, we list routines provided by the `ndarray.linalg` package.

## Linear Algebra

```eval_rst
.. currentmodule:: mxnet.ndarray.linalg

.. autosummary::
    :nosignatures:

    gemm
    gemm2
    potrf
    potri
    trmm
    trsm
    sumlogdiag
    syrk
    gelqf
    syevd
```

## API Reference

<script type="text/javascript" src='../../../_static/js/auto_module_index.js'></script>

```eval_rst

.. automodule:: mxnet.ndarray.linalg
    :members:

```

<script>auto_index("api-reference");</script>
