# Linear Algebra in C#

## Vectors

### Basic Vectors

Illustrates the basic use of the Vector class for working with vectors.

### Vector Operations

Illustrates how to perform operations on Vector objects, including construction, element access, arithmetic operations.

## Matrices

### Basic Matrices

Illustrates the basic use of the Matrix class for working with matrices.

### Accessing Matrix Components

Illustrates different ways of iterating through the rows and columns of a matrix using classes in the Extreme.Mathematics.LinearAlgebra namespace.

### Matrix-Vector Operations

Illustrates how to perform operations that involve both matrices and vectors.

### Triangular Matrices

Illustrates how to work efficiently with upper or lower triangular or trapezoidal matrices.

### Symmetric Matrices

Illustrates how to work efficiently with symmetric matrices.

### Band Matrices

Illustrates how to work with the BandMatrix class.

### Sparse Matrices

Illustrates using sparse vectors and matrices using the classes in the Extreme.Mathematics.LinearAlgebra.Sparse namespace.

### Matrix Decompositions

Illustrates how compute various decompositions of a matrix using classes in the Extreme.Mathematics.LinearAlgebra namespace.

## Solving Equations and Least Squares

### Linear Equations

Illustrates how to solve systems of simultaneous linear equations.

### Structured Linear Equations

Illustrates how to solve systems of simultaneous linear equations that have special structure.

### Iterative Sparse Solvers

Illustrates the use of iterative sparse solvers and preconditioners for efficiently solving large, sparse systems of linear equations.

### Least Squares

Illustrates how to solve least squares problems using classes in the Extreme.Mathematics.LinearAlgebra namespace.