Class BasicMatrix

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

public class BasicMatrix
extends 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$ Mise a jour: $Date$ par : $Author$
Author:
Benjamin Poussin <poussin@codelutin.com>
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    protected class  BasicMatrix.BasicMatrixIteratorImpl  
  • Field Summary

    Fields 
    Modifier and Type Field Description
    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

    Constructors 
    Constructor Description
    BasicMatrix​(MatrixFactory factory, int[] dimensions)
    Crée une nouvelle matrice ayant les dimensions demandées.
    BasicMatrix​(MatrixFactory factory, Vector data, int[] dimensions)
    Crée une nouvelle matrice ayant les dimensions demandées.
  • Method Summary

    Modifier and Type Method Description
    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 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​(Object o)  
    int[] getDim()
    Retourne un tableau representant les dimensions de la matrice.
    int getDim​(int dim)
    Retourne la taille d'une dimension
    Vector getInternalVector()  
    double getMaxOccurence()
    Deprecated.
    since 2.1, use getMaxOccurrence() instead
    double getMaxOccurrence()
    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
    int getNumberOfAssignedValue()
    Returne number of assigned value, assigned value is value stored in memory
    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.
    BasicMatrixIterator iteratorNotZero()
    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
    protected int[] linearToCoordinates​(int[] result, 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
    String toString()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • 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 Details

    • BasicMatrix

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

      public BasicMatrix​(MatrixFactory factory, Vector data, int[] dimensions)
      Crée une nouvelle matrice ayant les dimensions demandées.
      Parameters:
      factory - factory
      dimensions - dimensions
  • Method Details

    • getInternalVector

      public Vector getInternalVector()
    • getNumberOfAssignedValue

      public int getNumberOfAssignedValue()
      Returne number of assigned value, assigned value is value stored in memory
      Since:
      2.4.2
    • getMaxOccurence

      @Deprecated public double getMaxOccurence()
      Deprecated.
      since 2.1, use getMaxOccurrence() instead
      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
    • getMaxOccurrence

      public double getMaxOccurrence()
      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é
    • iteratorNotZero

      public BasicMatrixIterator iteratorNotZero()
      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
    • linearToCoordinates

      protected int[] linearToCoordinates​(int[] result, int pos)
      Convertie une coordonnée lineaire en coordonnées spaciales
      Parameters:
      result - array use to store result. Useful to prevent array instanciation
      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:
      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:
      IndexOutOfBoundsException - si la dimension demandée n'existe pas
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object