# Crate nalgebra_lapack

source ·## Expand description

## §nalgebra-lapack

Rust library for linear algebra using nalgebra and LAPACK.

### §Documentation

Documentation is available here.

### §License

MIT

### §Cargo features to select lapack provider

Like the lapack crate from which this behavior is inherited, nalgebra-lapack uses cargo features to select which lapack provider (or implementation) is used. Command line arguments to cargo are the easiest way to do this, and the best provider depends on your particular system. In some cases, the providers can be further tuned with environment variables.

Below are given examples of how to invoke `cargo build`

on two different systems
using two different providers. The `--no-default-features --features "provider"`

arguments will be consistent for other `cargo`

commands.

#### §Ubuntu

As tested on Ubuntu 12.04, do this to build the lapack package against the system installation of netlib without LAPACKE (note the E) or CBLAS:

```
sudo apt-get install gfortran libblas3gf liblapack3gf
export CARGO_FEATURE_SYSTEM_NETLIB=1
export CARGO_FEATURE_EXCLUDE_LAPACKE=1
export CARGO_FEATURE_EXCLUDE_CBLAS=1
export CARGO_FEATURES="--no-default-features --features netlib"
cargo build ${CARGO_FEATURES}
```

#### §macOS

On macOS, do this to use Apple’s Accelerate framework:

```
export CARGO_FEATURES="--no-default-features --features accelerate"
cargo build ${CARGO_FEATURES}
```

### §Contributors

This integration of LAPACK on nalgebra was initiated by Andrew Straw. It then became officially supported and integrated to the main nalgebra repository.

## Structs§

- The cholesky decomposition of a symmetric-definite-positive matrix.
- Eigendecomposition of a real square matrix with real or complex eigenvalues.
- Generalized eigenvalues and generalized eigenvectors (left and right) of a pair of N*N real square matrices.
- The Hessenberg decomposition of a general matrix.
- LU decomposition with partial pivoting.
- The QR decomposition of a general matrix.
- QZ decomposition of a pair of N*N square matrices.
- The SVD decomposition of a general matrix.
- Eigendecomposition of a real square matrix with real eigenvalues.
- Eigendecomposition of a real square symmetric matrix with real eigenvalues.

## Traits§

- Trait implemented by floats (
`f32`

,`f64`

) and complex floats (`Complex<f32>`

,`Complex<f64>`

) supported by the cholesky decomposition. - Trait implemented by scalars for which Lapack implements the LU decomposition.