Package org.nuiton.math.matrix
Class MatrixNDImpl
- java.lang.Object
-
- org.nuiton.math.matrix.AbstractMatrixND
-
- org.nuiton.math.matrix.MatrixNDImpl
-
- All Implemented Interfaces:
Serializable
,Cloneable
,MatrixND
public class MatrixNDImpl extends AbstractMatrixND
MatrixNDImpl. Created: 29 oct. 2004- Version:
- $Revision$ Mise a jour: $Date$ par : $Author$
- Author:
- Benjamin Poussin <poussin@codelutin.com>
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static List<Reference<MatrixNDImpl>>
allMat
protected BasicMatrix
matrix
-
Fields inherited from class org.nuiton.math.matrix.AbstractMatrixND
CSV_SEPARATOR, defaultValue, dim, dimHelper, dimNames, factory, name, NUMBER, NUMBER_REGEX, semantics
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
MatrixNDImpl(MatrixFactory factory, int[] dim)
protected
MatrixNDImpl(MatrixFactory factory, String name, int[] dim)
protected
MatrixNDImpl(MatrixFactory factory, String name, int[] dim, String[] dimNames)
protected
MatrixNDImpl(MatrixFactory factory, String name, int[] dim, String[] dimNames, Vector data)
protected
MatrixNDImpl(MatrixFactory factory, String name, List<?>[] semantics)
protected
MatrixNDImpl(MatrixFactory factory, String name, List<?>[] semantics, String[] dimNames)
protected
MatrixNDImpl(MatrixFactory factory, String name, List<?>[] semantics, String[] dimNames, Vector data)
protected
MatrixNDImpl(MatrixFactory factory, List<?>[] semantics)
protected
MatrixNDImpl(MatrixFactory factory, MatrixND matrix)
protected
MatrixNDImpl(MatrixFactory factory, MatrixND matrix, Vector data)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description MatrixND
add(MatrixND m)
Modifie la matrice actuelle en lui ajoutant les valeurs de la matrice passé en parametre.boolean
equalsValues(MatrixND mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiquesBasicMatrix
getInternalMatrix()
double
getMaxOccurence()
Deprecated.double
getMaxOccurrence()
Retourne la valeur la plus courrement rencontrer dans un tableau.long
getNumberOfAssignedValue()
Returne number of assigned value, assigned value is value stored in memorydouble
getValue(int[] coordinates)
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.MatrixIterator
iterator()
Retourne un iterator sur toute la matrice.MatrixIterator
iteratorNotZero()
Retourne un iterator pour toutes les valeurs de la matrices differente de 0MatrixND
map(MapFunction f)
Si le vector utilise par la BasicMatix supporte la method map, on l'utilise pour gagner du tempsMatrixND
minus(MatrixND m)
Modifie la matrice actuelle en lui soustrayant les valeurs de la matrice passé en parametre.MatrixND
paste(int[] origin, MatrixND mat)
Si on peut on utilise le paste du vector de BasicMatix, sinon on utilise la methode de AbstractMatrixND.MatrixND
pasteSemantics(MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre La copie se fait en fonction de la semantique, si un element dans une dimension n'est pas trouvé, alors il est passévoid
setValue(int[] coordinates, double d)
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.MatrixND
sumOverDim(int d)
Somme la matrice sur une dimension donnée.String
toString()
-
Methods inherited from class org.nuiton.math.matrix.AbstractMatrixND
adds, clone, copy, cut, divs, equals, equals, exportCSV, exportCSV2D, exportCSVND, fromList, getDim, getDim, getDimCount, getDimensionName, getDimensionName, getDimensionNames, getFactory, getName, getNbDim, getSemantic, getSemantics, getSemantics, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrixOnSemantic, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, importCSV, importCSV, importCSV, importCSVND, init, isSupportedCSV, isValidCoordinates, isValidCoordinates, meanAll, meanOverDim, meanOverDim, minuss, mult, mults, paste, reduce, reduce, reduce, reduceDims, setDimensionName, setDimensionName, setDimensionNames, setName, setSemantic, setSemantics, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, size, sumAll, sumOverDim, sumOverDim, toList, transpose
-
-
-
-
Field Detail
-
allMat
public static List<Reference<MatrixNDImpl>> allMat
-
matrix
protected BasicMatrix matrix
-
-
Constructor Detail
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, int[] dim)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, List<?>[] semantics)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, String name, int[] dim)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, String name, int[] dim, String[] dimNames)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, String name, int[] dim, String[] dimNames, Vector data)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, String name, List<?>[] semantics)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, String name, List<?>[] semantics, String[] dimNames)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, String name, List<?>[] semantics, String[] dimNames, Vector data)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, MatrixND matrix)
-
MatrixNDImpl
protected MatrixNDImpl(MatrixFactory factory, MatrixND matrix, Vector data)
-
-
Method Detail
-
getNumberOfAssignedValue
public long getNumberOfAssignedValue()
Description copied from interface:MatrixND
Returne number of assigned value, assigned value is value stored in memory
-
getInternalMatrix
public BasicMatrix getInternalMatrix()
-
equalsValues
public boolean equalsValues(MatrixND mat)
Description copied from class:AbstractMatrixND
Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiques- Specified by:
equalsValues
in interfaceMatrixND
- Overrides:
equalsValues
in classAbstractMatrixND
- Returns:
- equality on values
-
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 indicesd
- new double value to set into matrix at specified dimensions
-
getMaxOccurence
@Deprecated public double getMaxOccurence()
Deprecated.Description copied from interface:MatrixND
Retourne la valeur la plus couramment rencontree dans un tableau. Si plusieurs valeurs ont le même nombre d'occurrence la plus petite valeur est retourné.- Specified by:
getMaxOccurence
in interfaceMatrixND
- Overrides:
getMaxOccurence
in classAbstractMatrixND
- Returns:
- la valeur la plus nombreuse dans le tableau
-
getMaxOccurrence
public double getMaxOccurrence()
Description copied from interface:MatrixND
Retourne la valeur la plus courrement rencontrer dans un tableau. Si plusieurs valeurs ont le même nombre d'occurrence la plus petite valeur est retourné.- Specified by:
getMaxOccurrence
in interfaceMatrixND
- Overrides:
getMaxOccurrence
in classAbstractMatrixND
- Returns:
- la valeur la plus nombreuse dans le tableau
-
toString
public String toString()
- Overrides:
toString
in classAbstractMatrixND
-
map
public MatrixND map(MapFunction f)
Si le vector utilise par la BasicMatix supporte la method map, on l'utilise pour gagner du temps- Specified by:
map
in interfaceMatrixND
- Overrides:
map
in classAbstractMatrixND
- Parameters:
f
- function to apply- Returns:
this
-
paste
public MatrixND paste(int[] origin, MatrixND mat)
Si on peut on utilise le paste du vector de BasicMatix, sinon on utilise la methode de AbstractMatrixND.- Specified by:
paste
in interfaceMatrixND
- Overrides:
paste
in classAbstractMatrixND
- Parameters:
origin
- le point d'origine a partir duquel on colle la matricemat
- une matrice avec le meme nombre de dimension, si la matrice que l'on colle est trop grande, les valeurs qui depasse ne sont pas prises en compte- Returns:
- return la matrice courante.
-
pasteSemantics
public MatrixND pasteSemantics(MatrixND mat)
Description copied from class:AbstractMatrixND
Modifie la matrice actuel en metant les valeurs de mat passé en parametre La copie se fait en fonction de la semantique, si un element dans une dimension n'est pas trouvé, alors il est passé- Specified by:
pasteSemantics
in interfaceMatrixND
- Overrides:
pasteSemantics
in classAbstractMatrixND
- Parameters:
mat
- matrix to paste- Returns:
- new matrix
-
add
public MatrixND add(MatrixND m)
Description copied from class:AbstractMatrixND
Modifie la matrice actuelle en lui ajoutant les valeurs de la matrice passé en parametre. La matrice passé en parametre doit avoir le meme nombre de dimension, et chacune de ses dimensions doit avoir un nombre d'element au moins egal a cette matrice.- Specified by:
add
in interfaceMatrixND
- Overrides:
add
in classAbstractMatrixND
- Parameters:
m
- matrix to add- Returns:
- new matrix
-
minus
public MatrixND minus(MatrixND m)
Modifie la matrice actuelle en lui soustrayant les valeurs de la matrice passé en parametre. La matrice passé en parametre doit avoir le meme nombre de dimension, et chacune de ses dimensions doit avoir un nombre d'element au moins egal a cette matrice.- Specified by:
minus
in interfaceMatrixND
- Overrides:
minus
in classAbstractMatrixND
- Parameters:
m
- matrix to minus- Returns:
- new matrix
-
sumOverDim
public MatrixND sumOverDim(int d)
Description copied from interface:MatrixND
Somme la matrice sur une dimension donnée. La matrice résultat à le même nombre de dimension, pas la dimension sommer, ne contient qu'une ligne.par exemple pour la matrice suivante si on somme sur la dimension 1 cela donnera
1 2 3 2 3 4 3 4 5
6 9 12
- Specified by:
sumOverDim
in interfaceMatrixND
- Overrides:
sumOverDim
in classAbstractMatrixND
- Parameters:
d
- la dimension sur lequel il faut faire la somme- Returns:
- new matrix
-
-