# numerical

Note

For many functions, multiple implementations are available using various backends. If no backend is specified, the function is assumed to be implemented in pure Python. The suffix _numpy indicates that the function uses Numpy and/or Scipy. Some of the other possibilities are _alglib, _cpp, _matlab, _sympy.

On most platforms, all variants are directly available. In Rhino, only the pure Python and the _alglib variants can be used directly. All others have to be accessed through an XFunc or an RPC service.

## Solvers

 descent_numpy A gradient descent optimisation solver. devo_numpy Call the Differential Evolution solver. dr Implementation of dynamic relaxation with RK integration scheme in pure Python. dr_numpy Implementation of the dynamic relaxation method for form findong and analysis of articulated networks of axial-force members. drx_numpy Run dynamic relaxation analysis. fd_alglib fd_cpp fd_numpy Implementation of the force density method to compute equilibrium of axial force networks. ga Genetic Algorithm optimisation. moga Multi-objective Genetic Algorithm optimisation. pca_numpy Compute the principle components of a set of data points. topop_numpy Topology optimisation in 2D using NumPy and SciPy.

## Linalg

 nullspace Calculates the nullspace of the input matrix A. rank Calculates the rank of the input matrix A. dof Returns the degrees-of-freedom of the input matrix A. pivots Identify the pivots of input matrix U. nonpivots Identify the non-pivots of input matrix U. rref Reduced row-echelon form of matrix A. rref_sympy Reduced row-echelon form of matrix A. rref_matlab Reduced row-echelon form of matrix A. chofactor Returns the Cholesky factorisation/decomposition matrix. lufactorized Return a function for solving a sparse linear system (LU decomposition). uvw_lengths Calculates the lengths and co-ordinate differences. normrow Calculates the 2-norm of each row of matrix A. normalizerow Normalise the rows of matrix A. rot90 Rotate an array of vectors through 90 degrees around an array of axes. 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.

## Matrices

 adjacency_matrix Creates a vertex adjacency matrix. degree_matrix Creates a matrix representing vertex degrees. connectivity_matrix Creates a connectivity matrix from a list of vertex index pairs. laplacian_matrix Creates a laplacian matrix from a list of edge topologies. face_matrix Creates a face-vertex adjacency matrix. mass_matrix Creates a network’s nodal mass matrix. equilibrium_matrix Construct the equilibrium matrix of a structural system.

## Operators

 grad Construct the gradient operator of a trianglular mesh.

## Utilities

 float_formatter Formats float to truncated string. set_array_print_precision Changes float precision of float_formatter. unset_array_print_precision Unchanges float precision of float_formatter back to default.