Package org.nuiton.math.matrix
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éaireprotected int[]
dimensions
Les dimensions de la matriceprotected MatrixFactory
factory
La factoryprotected 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
checkDim(int dim)
Permet de vérifier qu'une dimension demandé existe bien dans la matriceprotected void
checkDim(int[] dim)
Permet de vérifier que les dimensions de la nouvelle matrice sont correctsprotected 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.boolean
equals(Object o)
int[]
getDim()
Retourne un tableau representant les dimensions de la matrice.int
getDim(int dim)
Retourne la taille d'une dimensionVector
getInternalVector()
double
getMaxOccurence()
Deprecated.since 2.1, usegetMaxOccurrence()
insteaddouble
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 matricelong
getNumberOfAssignedValue()
Returne number of assigned value, assigned value is value stored in memorydouble
getValue(int[] pos)
Retourne un element de la matriceBasicMatrixIterator
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[] result, long pos)
Convertie une coordonnée lineaire en coordonnées spacialesprotected int[]
linearToCoordinates(long pos)
Convertie une coordonnée lineaire en coordonnées spacialesvoid
map(MapFunction f)
Permet de faire un traitement sur chaque valeur de la matricevoid
setValue(int[] pos, double value)
Modifie un élement de la matriceString
toString()
-
-
-
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 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
- factorydimensions
- dimensions
-
BasicMatrix
public BasicMatrix(MatrixFactory factory, Vector data, int[] dimensions)
Crée une nouvelle matrice ayant les dimensions demandées.- Parameters:
factory
- factorydimensions
- 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, usegetMaxOccurrence()
insteadRetourne 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 à modifiervalue
- 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 instanciationpos
- 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
-
-