While there are already countless math libraries for performing common matrix/array functions, StarMath is distinguished by its simplicity and flexbility. There is no need to declare vectors and matrices in a specific library format. It works simliar to Math.function calls in C#.
This is part of the ObjectOriented Optimization Toolbox (see: OOOT for more optimization methods and uses of StarMath)
This bit of matrix math is used to calculate the BroydenFletcherGoldfarbShanno approach to approximating the Newton approach. This is shown to illustrate some of the basic add and multiply functions of StarMath.
var diffX = x.subtract(xLast); 

var diffGradF = gradf.subtract(gradFLast); 

T = StarMath.multiplyVectorsIntoAMatrix(diffX, diffGradF); T = T.divide(diffX.multiplyDot(diffGradF)); 

u = StarMath.multiplyVectorsIntoAMatrix(diffX, diffX); u = u.multiply(diffX.multiplyDot(diffGradF)); 

IMinusT = StarMath.makeIdentity(T.GetLength(0)).subtract(T); invH = IMinusT.multiply(invHLast.multiply(IMinusT)).add(u); 

dir = invH.multiply(gradf); 