Vous êtes sur la page 1sur 5

ALGORITMOS MATEMTICOS SOBRE VECTORES Y MATRICES

Los arreglos (arrays) son variables del mismo tipo de dato que tienen el mismo nombre y que
se distinguen y referencian por un ndice. Sintaxis:
<tipo><variable>[N]
Se declara un arreglo de nombre <variable> con N elementos de tipo <tipo>, (N es una
constante).
Ejemplo: int a[10];
Los arreglos se caracterizan por:
Almacenan los elementos en posiciones contiguas de memoria Tienen un mismo nombre de
variable que representa a todos los elementos. Para hacer referencia a esos elementos es
necesario utilizar un ndice que especifica el lugar que ocupa cada elemento dentro del archivo.

float numero[10]; Arreglo de 10 nmeros reales


int k[104]; Arreglo de 104 enteros
char ch[300]; Cadena de 299 caracteres
int m[23][3] Matriz de 2 dimensiones, con 23 renglones y 3 columnas.

Tipos de Arreglos
Unidimensionales (Vectores)
Bidimensionales (Matrices)
De 3 dimensiones(Tridimensionales)
De mas de 3 dimensiones (Multidimensionales)
VECTORES
Es un arreglo de N elementos organizados en una dimensin donde N recibe el nombre de
longitud o tamao del vector. Para hacer referencia a un elemento del vector se usa el nombre
del mismo, seguido del ndice (entre corchetes), el cual indica una posicin en particular del
vector.
Por ejemplo: V[x]
Donde:
V Nombre del arreglo
x Nmero de datos que constituyen el arreglo(tamao)
MATRICES
Es un arreglo de M * N elementos organizados en dos dimensiones donde M es el numero de
filas o reglones y N el numero de columnas. Para representar una matriz se necesita un nombre
de matriz se necesita un nombre de matriz acompaado de dos ndices.
Mat [R,C]
Donde R indica el rengln y C indica la columna, donde se encuentra almacenado el dato.

ALGORITMOS MATEMTICOS
Igualdad de matrices Igualdad de matrices
Dos matrices A y B del mismo orden son iguales si todos sus elementos correspondientes son
iguales.

Amxn = Bmxn [aij]= [aij]


Matriz fila y matriz columna
Las matrices filas son las de orden 1xn y las matrices columnas son las de orden mx1
(vectores)

Matriz diagonal Matriz diagonal


Es la matriz cuadrada Anxn = [aij] definida por:
Matriz identidad

Es un caso particular de la matriz diagonal, en la cual los elementos de la diagonal


principal son todos iguales a 1.

Producto de matrices
Dadas dos matrices Ay B, su producto es otra matriz P cuyos elementos se obtienen
multiplicando las filas de A por las columnas de B. De
Es evidente que el nmero de columnas de A debe coincidir con el nmero de filas de B..
Si Atiene dimensin m x ny B dimensin n x p, la matriz P ser de orden mxp:

Algoritmo secuencial

Caso matrices cuadradas


.
for (i = 0; i < n; i++)
{ for (j = 0; i < n; j++) {
c[i][j] = 0; c[i][j] = 0;
for (k = 0; k < n; k++)
{ c[i][j]+= a[i][k] * b[k][j] } } }

n3 multiplicaciones y n3 sumas O (n3)


Implementacin recursiva

La divisin en submatrices sugiere una estrategia recursiva de divide y vencers, que


puede ser especialmente ventajoso en sistemas de memoria compartida.

La ventaja de esta estrategia es que en cada paso de recursin, los datos transmitidos
son ms pequeos y estn ms localizados.

Divide y venceras

La tcnica divide y vencers (DV) consiste en:

Descomponer el problema que hay que resolver en cierto numero de subproblemas


mas pequeos del cierto numero de subproblemas mas pequeos del mismo tipo.

Resolver de forma sucesiva e independiente todos estos subproblemas.


Combinar las soluciones obtenidas para obtener la solucin del problema original.
Caractersticas de los problemas resolubles utilizando divide y vencers
El problema se puede descomponer en otros del mismo tipo que el original y de tamao
mas pequeo
(formulacin recursiva). Los subproblemas pueden resolverse de manera
independiente.
Los subproblemas son disjuntos, sin solapamiento.
La solucin final se puede expresar como combinacin de las soluciones de los
subproblemas.

Mtodo general divide y vencers

function
DYC(x) IF x es suficientemente simple
RETURN algoritmoBasico(x)
ELSE descomponer x en x[1],x[2],...,x[s] descomponer x en x[1],x[2],...,x[s]
FOR i ::= 1 TO s y[i] ::= DYC(x[i])
ENDFOR combinar y[i] en una solucin y a x
RETURN y ENDINF

Algoritmo de multiplicacin de Strassen

Cmo calcular el producto de dos matrices de dos por dos usando menos
multiplicaciones que con el mtodo tradicional

Dadas dos matrices


podemos poner:

m1 = (a21+ a22a 11) (b22-b12+ b 11)


m2= a11 b11
m3 = a12 b21
m4 = (a11a 21) (b22b 12)
m5 = (a21 + a 22 ) (b12b 11)
m6 = (a12 -a21+ a11a 22) b22
m7 = a22 ( b11 + b22-b12b 21)

Entonces el producto AB queda:


m2 + m3 m1 + m2 + m5 + m6
m1 + m2 + m4 m7 m1 + m2 + m4 + m5

Este procedimiento requiere 7 multiplicaciones para calcular el producto de A y B(pero


ms sumas que el mtodo tradicional).

Vous aimerez peut-être aussi