CODeME
Matrix.c File Reference

Implementation Vector-Matrix functions. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "defs_and_types.h"
#include "Matrix.h"
#include "SVD_Descomposition.h"

Functions

double ** create_Double_Matrix (int rows, int cols)
 
double ** Identity_Double_Matrix (int Dimension)
 
int ** create_Integer_Matrix (int rows, int cols)
 
int ** Identity_Integer_Matrix (int Dimension)
 
char ** create_Char_Matrix (int rows, int cols)
 
void free_Double_Matrix (int rows, double **Matrix)
 
void free_Inetger_Matrix (int rows, int **Matrix)
 
void free_Char_Matrix (int rows, char **Matrix)
 
void Copy_Double_Vector (int length, double *Destiny, double *Sources)
 
void Copy_Double_Matrix (int rows, int cols, double **Destiny, double **Sources)
 
void print_Double_Vector (int length, double *Vector)
 
void print_Double_Matrix (int rows, int cols, double **Matrix)
 
double ** Transpose_Matrix (int rows, int cols, double **Matrix)
 
void Vector_Add_Vector (int length, double *Source, double *Destiny)
 
void Vector_Subtract_Vector (int length, double *Source, double *Destiny)
 
void Matrix_Multiplication_Scalar (int rows, int cols, double **Matrix, double Scalar)
 
double * Matrix_Vector_Multiplication (int rows, int cols, double **Matrix, double *Vector)
 
double ** Matrix_Matrix_Multiplication (int rows, int cols, int intermedia, double **Matrix_1, double **Matrix_2)
 
void Matrix_Vector_Mult (int rows, int cols, double **Matrix, double *Vector, double *Ans)
 
void Matrix_Matrix_Mult (int rows, int cols, int intermedia, double **Matrix_1, double **Matrix_2, double **Ans)
 
void Matrix_Add_Matrix (int rows, int cols, double **Source, double **Destiny)
 
void Matrix_Substract_Matrix (int rows, int cols, double **Source, double **Destiny)
 
void Matrix_Complete_Symmetry (int size, double **Matrix)
 
double Dot_Product (int length, double *Vector_1, double *Vector_2)
 
double Norm_L2 (int length, double *Vector)
 
double Norm_Forbenius (int rows, int cols, double **Matrix)
 
double Norm_One (int rows, int cols, double **Matrix)
 
double Norm_Infinity (int rows, int cols, double **Matrix)
 
void LU_Crout_Descomp (int length, double **A)
 
double * LU_Crout_Solver (int length, double **A, double *VO)
 
void LU_Cholesky_Diagonal_Descomp (int length, double **A)
 
double * LU_Cholesky_Diagonal_Solver (int length, double **A, double *VO)
 
int LU_Cholesky_Diagonal_Check (int Dimension, double **LU, double min)
 
int Check_PositiveDef_Matrix (int Dimension, double **Matrix, double min)
 
void Set_PositiveDef_Matrix (int Dimension, double **Matrix)
 
double ** Inverse_Matrix (int length, double **Matrix)
 
double Power_Method (int length, double **Matrix, int Max_Iterations, double Tolerance, double *Eigenvector)
 
double * Power_Method_Def (int length, int displacement, double **Matrix, int Max_Iterations, double Tolerance, double **Eigenvector)
 
double Inverse_Power_Method (int length, double **Matrix, int Max_Iterations, double Tolerance, double *Eigenvector)
 
double * Inverse_Power_Method_Def (int length, int displacement, double **Matrix, int Max_Iterations, double Tolerance, double **Eigenvector)
 
double Conditon_Number (int length, double **Matrix)
 
double Inverse_Conditon_Number (int length, double **Matrix)
 

Detailed Description

Implementation Vector-Matrix functions.

Implementation of Matrix and Vector operator as: Create, delete, dot-product, adding, subtracting, multiplying, norms, decomposition , inverse and linear equation solvers.

Author
Salvador Botello-Aceves
Bug:
No known bugs.

Function Documentation

int Check_PositiveDef_Matrix ( int  Dimension,
double **  Matrix,
double  min 
)

RECIBE: Dimension del problema, Matriz a checar ENTREGA: Bandera de Matriz Definida Positiva

void LU_Cholesky_Diagonal_Descomp ( int  length,
double **  A 
)

RECIBE: Tamaño, Matriz ENTREGA: –

double* LU_Cholesky_Diagonal_Solver ( int  length,
double **  A,
double *  VO 
)

RECIBE: Tamaño, Matriz, Vector ENTREGA: Vector Solucion

double* Matrix_Vector_Multiplication ( int  rows,
int  cols,
double **  Matrix,
double *  Vector 
)

RECIBE: Renglones, Columnas, Matriz, Vector ENTREGA: Vector resultante