# compas.numerical

This package defines a number of numerical utilities. In future versions, this package will disappear, and its functionality will be integrated into the geometry and datastructure packages directly.

## Functions

 adjacency_matrix Creates a vertex adjacency matrix. chofactor Returns the Cholesky factorisation/decomposition matrix. connectivity_matrix Creates a connectivity matrix from a list of vertex index pairs. degree_matrix Creates a matrix representing vertex degrees. dof Returns the degrees-of-freedom of the input matrix A. equilibrium_matrix Construct the equilibrium matrix of a structural system. face_matrix Creates a face-vertex adjacency matrix. laplacian_matrix Creates a laplacian matrix from a list of edge topologies. lufactorized Return a function for solving a sparse linear system (LU decomposition). mass_matrix Creates a network's nodal mass matrix. nonpivots Identify the non-pivots of input matrix U. normalizerow Normalise the rows of matrix A. normrow Calculates the 2-norm of each row of matrix A. nullspace Calculates the nullspace of the input matrix A. pivots Identify the pivots of input matrix U. rank Calculates the rank of the input matrix A. rot90 Rotate an array of vectors through 90 degrees around an array of axes. rref Reduced row-echelon form of matrix A. solve_with_known Solve a system of linear equations with part of solution known. spsolve_with_known Solve (sparse) a system of linear equations with part of solution known. stiffness_matrix uvw_lengths Calculates the lengths and co-ordinate differences.

## Functions using Numpy

In environments where numpy is not available, these functions can still be accessed through RPC.

 pca_numpy Compute the principle components of a set of data points.

## Pluggables

Pluggables are functions that don’t have an actual implementation, but receive an implementation from a plugin.

 scalarfield_contours Compute the contour lines of a scalarfield.