# ReduceLinAlg.jl

**LINALG: Linear algebra package** *A selection of functions that are useful in the world of linear algebra*

This Julia package relies on the Reduce.jl parser generator, Julia docs (stable / latest).

Meta-package ReduceAlgebra.jl, upstream docs (LINALG / pdf), Julia docs (stable / latest)

## 16.37 LINALG: Linear algebra package

This package provides a selection of functions that are useful in the world of linear algebra.

Author: Matt Rebbeck.

### 16.37.1 Introduction

This package provides a selection of functions that are useful in the world of linear algebra. These functions are described alphabetically in subsection 16.37.3 and are labelled 16.37.3.1 to 16.37.3.53. They can be classified into four sections(n.b: the numbers after the dots signify the function label in section 16.37.3).

Contributions to this package have been made by Walter Tietze (ZIB).

## Library

`ReduceLinAlg.hessian`

— Function.`hessian(expr,var_list::Vector)`

Computes the Hessian matrix of `expr`

with respect to the variables in `var_list`

.

This is an n×n matrix where n is the number of variables and the (i,j)th entry is `df(expr,var_list[i],var_list[j])`

.

`ReduceLinAlg.mat_jacobian`

— Function.`mat_jacobian(expr_list::Vector,var_list::Vector)`

Computes the Jacobian matrix of `expr_list`

with respect to `var_list`

.

This is a matrix whose (i,j)th entry is `df(expr_list[i],var_list[j])`

. The matrix is n×m where n is the number of variables and m is the number of expressions.

`ReduceLinAlg.jordan_block`

— Function.`jordan_block(expr,square_size::Integer)`

Computes the square Jordan block matrix `J`

of dimension `square_size`

.

The entries of `J`

are `J[i,i] = expr`

for i = 1,...,n, `J[i,i+1] = 1`

for i = 1,...,n-1, and all other entries are 0.