org.nuiton.math.matrix
Class BasicMatrix

java.lang.Object
  extended by org.nuiton.math.matrix.BasicMatrix

public class BasicMatrix
extends java.lang.Object

Objet matrice qui ne permet que le stockage de double dans un matrice à autant de dimension que l'on souhaite. Created: 27 oct. 2004

Version:
$Revision: 168 $ Mise a jour: $Date: 2009-07-17 18:18:45 +0200 (ven., 17 juil. 2009) $ par : $Author: echatellier $
Author:
Benjamin Poussin

Nested Class Summary
protected  class BasicMatrix.BasicMatrixIteratorImpl
           
 
Field Summary
protected  Vector data
          La matrice en représentation linéaire
protected  int[] dimensions
          Les dimensions de la matrice
protected  MatrixFactory factory
          La factory
protected  int[] linearFactor
          tableau de facteur permettant de convertir les coordonnées dans la matrice en un indice dans la représentation linéaire de la matrice
 
Constructor Summary
BasicMatrix(MatrixFactory factory, int[] dimensions)
          Crée une nouvelle matrice ayant les dimensions demandées.
 
Method Summary
protected  void checkDim(int dim)
          Permet de vérifier qu'une dimension demandé existe bien dans la matrice
protected  void checkDim(int[] dim)
          Permet de vérifier que les dimensions de la nouvelle matrice sont corrects
protected  void checkPos(int[] pos)
          Verifie que les coordonnées demandé appartiennent bien à la matrice
protected  int coordonatesToLinear(int[] coordonates)
          Permet de convertir les coordonnées d'un élément en un indice dans la représentation linéraire de la matrice.
 boolean equals(java.lang.Object o)
           
 int[] getDim()
          Retourne un tableau representant les dimensions de la matrice.
 int getDim(int dim)
          Retourne la taille d'une dimension
 double getMaxOccurence()
          Retourne la valeur la plus courrement rencontrer dans la matrice. si plusieurs valeurs ont le même nombre d'occurence la plus petite valeur est retourné.
 int getNbDim()
          Retourne le nombre de dimension de la matrice
 double getValue(int[] pos)
          Retourne un element de la matrice
 BasicMatrixIterator iterator()
          Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.
protected  int[] linearToCoordinates(int pos)
          Convertie une coordonnée lineaire en coordonnées spaciales
 void map(MapFunction f)
          Permet de faire un traitement sur chaque valeur de la matrice
 void setValue(int[] pos, double value)
          Modifie un élement de la matrice
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

factory

protected MatrixFactory factory
La factory


dimensions

protected int[] dimensions
Les dimensions de la matrice


data

protected Vector data
La matrice en représentation linéaire


linearFactor

protected int[] linearFactor
tableau de facteur permettant de convertir les coordonnées dans la matrice en un indice dans la représentation linéaire de la matrice

Constructor Detail

BasicMatrix

public BasicMatrix(MatrixFactory factory,
                   int[] dimensions)
Crée une nouvelle matrice ayant les dimensions demandées.

Parameters:
factory - factory
dimensions - dimensions
Method Detail

getMaxOccurence

public double getMaxOccurence()
Retourne la valeur la plus courrement rencontrer dans la matrice. si plusieurs valeurs ont le même nombre d'occurence la plus petite valeur est retourné.

Returns:
la valeur la plus nombreuse dans la matrice, ou la plus petite si plusieurs valeur se retourve le même nombre de fois

getNbDim

public int getNbDim()
Retourne le nombre de dimension de la matrice

Returns:
le nombre de dimension de la matrice;

getDim

public int getDim(int dim)
Retourne la taille d'une dimension

Parameters:
dim - la dimension dont on souhaite la taille
Returns:
la taille d'une dimension

getDim

public int[] getDim()
Retourne un tableau representant les dimensions de la matrice. Le tableau retourné n'est pas une copie, il ne faut donc pas le modifier

Returns:
le tableau des dimensions.

getValue

public double getValue(int[] pos)
Retourne un element de la matrice

Parameters:
pos - la position de l'element à retourner
Returns:
un element de la matrice

setValue

public void setValue(int[] pos,
                     double value)
Modifie un élement de la matrice

Parameters:
pos - la position de l'element à modifier
value - la nouvelle valeur à mettre dans la matrice

iterator

public BasicMatrixIterator iterator()
Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.

Returns:
un objet Inc pret à être utilisé

map

public void map(MapFunction f)
Permet de faire un traitement sur chaque valeur de la matrice

Parameters:
f - la fonction a appliquer à chaque élement de la matrice

coordonatesToLinear

protected int coordonatesToLinear(int[] coordonates)
Permet de convertir les coordonnées d'un élément en un indice dans la représentation linéraire de la matrice.

Parameters:
coordonates - les coordonnées à lineariser
Returns:
un indice réprésentant les coordonnées de façon linéaire

linearToCoordinates

protected int[] linearToCoordinates(int pos)
Convertie une coordonnée lineaire en coordonnées spaciales

Parameters:
pos - la coordonnée linéaire
Returns:
les coordonnées spaciales de l'élément

checkDim

protected void checkDim(int[] dim)
Permet de vérifier que les dimensions de la nouvelle matrice sont corrects

Parameters:
dim - les dimensions de la nouvelle matrice
Throws:
java.lang.IllegalArgumentException - si une dimension n'est pas valide

checkDim

protected void checkDim(int dim)
Permet de vérifier qu'une dimension demandé existe bien dans la matrice

Parameters:
dim - la position de la dimension que l'on souhaite
Throws:
java.lang.IndexOutOfBoundsException - si la dimension demandée n'existe pas

checkPos

protected void checkPos(int[] pos)
Verifie que les coordonnées demandé appartiennent bien à la matrice

Parameters:
pos - les coordonnées souhaitées dans la matrice
Throws:
java.util.NoSuchElementException - si les coordonnées ne correspondent pas à un élement de la matrice

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object


Copyright © 2004-2009 CodeLutin. All Rights Reserved.