Class MatrixProxy

  • All Implemented Interfaces:
    Serializable, Cloneable, MatrixND

    public class MatrixProxy
    extends AbstractMatrixND
    Matrix proxy contains only dimension and semantics definition, but does not allocate memory spaces for value. Call to getSubMatrix method will return a really allocated memory matrix and use a MatrixProvider to fill matrix value. This is usefull for huge matrix that need to not be filled at first use, but after some dimensions reductions.
    Version:
    $Revision$ Last update : $Date$ By : $Author$
    Author:
    chatellier
    See Also:
    MatrixProvider, Serialized Form
    • Method Detail

      • getNumberOfAssignedValue

        public long getNumberOfAssignedValue()
        Description copied from interface: MatrixND
        Returne number of assigned value, assigned value is value stored in memory
      • setMatrixProvider

        public void setMatrixProvider​(MatrixProvider matrixProvider)
      • iterator

        public MatrixIterator iterator()
        Description copied from interface: MatrixND
        Retourne un iterator sur toute la matrice.
        Returns:
        matrix iterator
      • iteratorNotZero

        public MatrixIterator iteratorNotZero()
        Description copied from interface: MatrixND
        Retourne un iterator pour toutes les valeurs de la matrices differente de 0
        Returns:
        matrix iterator
      • getValue

        public double getValue​(int[] coordinates)
        Description copied from interface: MatrixND
        Renvoie un element de la matrice demandée en fonction des dimensions passé en paramètre.
        Exemple: Si on a un matrice 3D.
        getValue(1,1,1) retourne un element de la matrice.
        Parameters:
        coordinates - les différentes dimension à extraire. Le tableau doit contenir toutes les dimensions de la matrice, et seulement des nombres positif
        Returns:
        un entier double.
      • setValue

        public void setValue​(int[] coordinates,
                             double d)
        Description copied from interface: MatrixND
        Modifie un element de la matrice en fonction des dimensions passé en paramètre.
        Exemple: Si on a un matrice 3D.
        set([1,1,1], m) modifie un element de la matrice.
        Parameters:
        coordinates - dimension indices
        d - new double value to set into matrix at specified dimensions
      • getSubMatrix

        public MatrixND getSubMatrix​(int dim,
                                     int start,
                                     int nb)
        Description copied from interface: MatrixND
        Permet de prendre une sous matrice dans la matrice courante. La sous matrice a le même nombre de dimensions mais sur une des dimensions on ne prend que certain élément.
        Specified by:
        getSubMatrix in interface MatrixND
        Overrides:
        getSubMatrix in class AbstractMatrixND
        Parameters:
        dim - la dimension dans lequel on veut une sous matrice
        start - la position dans dim d'ou il faut partir pour prendre la sous matrice. 0 <= start < dim.size si start est négatif alors la position de départ est calculé par rapport à la fin de la dimension, pour avoir le dernier élément il faut passer -1
        nb - le nombre d'élément à prendre dans la dimension si nb est inférieur ou égal à 0 alors cela indique qu'il faut prendre tous les éléments jusqu'à la fin de la dimension.
        Returns:
        un objet SubMatrix qui est une vu de la matrice initiale (toute modification de la sous-matrice, modifie la matrice initiale)
      • getSubMatrix

        public MatrixND getSubMatrix​(int dim,
                                     Object... elem)
        Description copied from interface: MatrixND
        Permet de prendre une sous matrice dans la matrice courante. La sous matrice a le même nombre de dimensions mais sur une des dimensions on ne prend que certain élément.
        Specified by:
        getSubMatrix in interface MatrixND
        Overrides:
        getSubMatrix in class AbstractMatrixND
        Parameters:
        dim - la dimension dans lequel on veut une sous matrice
        elem - les éléments dans la dimension à conserver
        Returns:
        un objet SubMatrix qui est une vu de la matrice initiale (toute modification de la sous-matrice, modifie la matrice initiale)
      • getSubMatrix

        public MatrixND getSubMatrix​(Object[]... elems)
        Description copied from interface: MatrixND
        Permet de prendre une sous matrice dans la matrice courante. Réalise plusieurs appels à MatrixND.getSubMatrix(int, Object...) suivant l'implémentation.
        Specified by:
        getSubMatrix in interface MatrixND
        Overrides:
        getSubMatrix in class AbstractMatrixND
        Parameters:
        elems - les éléments dans la dimension à conserver
        Returns:
        un objet SubMatrix qui est une vu de la matrice initiale (toute modification de la sous-matrice, modifie la matrice initiale)
      • getSubMatrix

        public MatrixND getSubMatrix​(int dim,
                                     int[] elem)
        Description copied from interface: MatrixND
        Permet de prendre une sous matrice dans la matrice courante. La sous matrice a le même nombre de dimensions mais sur une des dimensions on ne prend que certain élément.
        Specified by:
        getSubMatrix in interface MatrixND
        Overrides:
        getSubMatrix in class AbstractMatrixND
        Parameters:
        dim - la dimension dans lequel on veut une sous matrice
        elem - les indices des éléments dans la dimension à conserver
        Returns:
        un objet SubMatrix qui est une vu de la matrice initiale (toute modification de la sous-matrice, modifie la matrice initiale)
      • getSubMatrix

        public MatrixND getSubMatrix​(int[]... elems)
        Description copied from interface: MatrixND
        Permet de prendre une sous matrice dans la matrice courante. Réalise plusieurs appels a MatrixND.getSubMatrix(int, int[]) suivant l'implementation.
        Specified by:
        getSubMatrix in interface MatrixND
        Overrides:
        getSubMatrix in class AbstractMatrixND
        Parameters:
        elems - les indices des éléments pour chaque dimension à conserver
        Returns:
        un objet SubMatrix qui est une vu de la matrice initiale (toute modification de la sous-matrice, modifie la matrice initiale)