[Código C] Multiplicación de matrices

Aqui pongo la rutina en C que clacula el producto de dos matrices A y B, y guarda el resultado en C. Las matrices ya deben tener asignada la memoria necesaria (tambien la matriz C):
void multiplicacion(float **A,float **B,float **C,int n1,int n2,int n3)
{
//Funcion que calcula C=AxB, donde
// A es de n1xn2
// B es de n2xn3
//C entonces [Read More →]

Código en C de determinante de una matriz (expansion por menores) recursivo

Encontre esta función que calcula el determinante de una matriz recursivamente mediante expansión por menores:

Código:

/*
Recursive definition of determinate using expansion by minors.
*/
double Determinant(double **a,int n)
{
int i,j,j1,j2;
double det = 0;
double **m = NULL;
if (n < 1) { /* Error */
} else if (n == 1) { /* Shouldn’t get used */
det = a[0][0];
} else if (n [Read More →]

Matriz de cofactores en código C

Matriz de cofactores

(necesita de una rutina para calcular determinates)

Código:

/*
Find the cofactor matrix of a square matrix
*/
void CoFactor(double **a,int n,double **b)
{
int i,j,ii,jj,i1,j1;
double det;
double **c;
c = malloc((n-1)*sizeof(double *));
for (i=0;i<n-1;i++)
c[i] = malloc((n-1)*sizeof(double));
for (j=0;j<n;j++) {
for (i=0;i<n;i++) {
/* Form the adjoint a_ij */
i1 = 0;
for (ii=0;ii<n;ii++) {
if (ii == i)
continue;
j1 = 0;
for (jj=0;jj<n;jj++) {
if (jj == j)
continue;
c[i1][j1] = [Read More →]

Función en C para obtener la transpuesta de una matriz

Entrada
n: dimension de la matriz ( es de nxn)
a: matriz de nxn
Salida
Regresa la traspuesta de a en el mismo array de entrada
void Transpose(double **a,int n)
{
int i,j;
double tmp;

for (i=1;i<n;i++) {
for (j=0;j<i;j++) {
tmp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = tmp;
}
}
}