Skip to content

uroboro/Mathlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MatrixLib

Brief overview: Matrix library written in C that is able to manage bidimensional matrices and provide information about them. It is possible to operate with the basic functions such as inversion, transposition, multiplication and determinant.

Features:

  • single matrix struct containing:
  • float matrix
  • size
  • properties in Boolean format
  • ordered list manager:
  • add matrices with the following options:
  • input manually
  • initialise as identity
  • initialise with one number
  • remove them from memory
  • show single matrices
  • show the complete list of matrices
  • autosave and autoload matrices for later usage
  • functions that inform if a matrix is:
  • symmetrical
  • antisymmetrical
  • triangular
  • diagonal
  • identity
  • orthogonal
  • functions that operate with a single matrix:
  • opposite
  • transpose
  • adjugate
  • invert
  • multiply (by a scalar number)
  • functions that operate with two matrices
  • add/subtract
  • multiply
  • multiply/divide like addition/subtraction
  • copy
  • check equality

History: I began coding this library in July 2011, when I had half a year of coding in C experience. But back then I started with a program that only calculated the determinant of any given square matrix. It used float pointers and an int to know the size. In September I decided to go a step further and incorporate other matrix functions, as well as structs for ease of use, having the pointer and size in a single variable.

To-do list:

  • "translate" into Obj-C, into iPhone app.
  • functions for column and row spaces.
  • resolve n eqs with n vars (using Cramer and the inverse of A in A*X=B, X=Inv(A)*B.
  • make mflib.c into dylib, opening the way to a plugin system.
  • modify mtxlib.c functions so that they take an int and a matrix array. then, functions like addition can add several matrices at a time.
  • add a zero sign checker so as to not have -0 values
  • make mtxnode have (void*)data so it is reusable

About

A compilation of matricial functions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors