Class 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>
    • 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 long[] 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.
    • Field Detail

      • dimensions

        protected int[] dimensions
        Les dimensions de la matrice
      • data

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

        protected long[] 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
      • 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 Detail

      • getInternalVector

        public Vector getInternalVector()
      • getNumberOfAssignedValue

        public long 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 long 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​(long 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,
                                            long 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