Package org.nuiton.math.matrix
Class MatrixSemanticsDecorator
- java.lang.Object
-
- org.nuiton.math.matrix.MatrixSemanticsDecorator
-
- All Implemented Interfaces:
Serializable,Cloneable,MatrixND
public class MatrixSemanticsDecorator extends Object implements MatrixND
Permet d'interpreter les semantics, par exemple convertir un Id en une entite via le SemanticMapper passe en argument- Version:
- $Revision$ Last update: $Date$ by : $Author$
- Author:
- poussin
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMatrixSemanticsDecorator.SemanticsDecoratorMatrixIterator
-
Field Summary
Fields Modifier and Type Field Description protected List[]cacheSemanticsprotected SemanticsDecoratordecoratorprotected MatrixNDmatrix
-
Constructor Summary
Constructors Constructor Description MatrixSemanticsDecorator(MatrixND matrix, SemanticsDecorator decorator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MatrixNDadd(MatrixND m)Addition la matrice courante avec la matrice passe en parametre et se retourne elle meme.MatrixNDadds(double d)Addition d'un scalaire à une matrice.MatrixNDclone()Créer une nouvelle instance clonée de celle-ciMatrixNDcopy()Copy la matrice pour pouvoir la modifier sans perdre les donnees initiales.MatrixNDcut(int dim, int[] toCut)Permet de supprimer des éléments de la matrice.MatrixNDdivs(double d)Multiplication d'une matrice par un scalaire.booleanequalsValues(MatrixND mat)Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiquesvoidexportCSV(Writer writer, boolean withSemantics)Export dans un writer au format CSV de la matricevoidexportCSVND(Writer writer, boolean withSemantics)Export dans un writer au format CSV de la matricevoidfromList(List<?> list)Permet de charger une matrice a partir d'une representation Listint[]getDim()Retourne les dimensions de la matrice.intgetDim(int d)Retourne la dimension de la matrice dans la dimension d.intgetDimCount()Retourne le nombre de dimensions de la matrice.String[]getDimensionName()Permet de recuperer les noms des dimension.StringgetDimensionName(int dim)Retourne le nom de la dimension demandée.String[]getDimensionNames()Permet de recuperer les noms des dimension.MatrixFactorygetFactory()Retourne la factory qui a permit de creer la matrice.doublegetMaxOccurence()Retourne la valeur la plus couramment rencontree dans un tableau.doublegetMaxOccurrence()Retourne la valeur la plus courrement rencontrer dans un tableau.StringgetName()Retourne le nom de la matrice.intgetNbDim()Retourne le nombre de dimensions de la matrice.longgetNumberOfAssignedValue()Returne number of assigned value, assigned value is value stored in memoryListgetSemantic(int dim)Retourne la semantique pour une dimension.List[]getSemantics()Donne toutes les semantiques de la matrice.ListgetSemantics(int dim)Retourne la semantique pour une dimension.MatrixNDgetSubMatrix(int[]... elems)Permet de prendre une sous matrice dans la matrice courante.MatrixNDgetSubMatrix(int dim, int[] elem)Permet de prendre une sous matrice dans la matrice courante.MatrixNDgetSubMatrix(int dim, int start, int nb)Permet de prendre une sous matrice dans la matrice courante.MatrixNDgetSubMatrix(int dim, Object... elem)Permet de prendre une sous matrice dans la matrice courante.MatrixNDgetSubMatrix(int dim, Object start, int nb)Permet de prendre une sous matrice dans la matrice courante.MatrixNDgetSubMatrix(Object[]... elem)Permet de prendre une sous matrice dans la matrice courante.doublegetValue(int x)Return a 1D matrix value.doublegetValue(int[] dimensions)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.doublegetValue(int x, int y)Return a 2D matrix value.doublegetValue(int x, int y, int z)Return a 3D matrix value.doublegetValue(int x, int y, int z, int t)Return a 4D matrix value.doublegetValue(Object x)Return a 1D matrix value.doublegetValue(Object[] coordinates)Renvoie un element de la matrice demandée en fonction des dimensions passé en paramètre.doublegetValue(Object x, Object y)Return a 2D matrix value.doublegetValue(Object x, Object y, Object z)Return a 3D matrix value.doublegetValue(Object x, Object y, Object z, Object t)Return a 4D matrix value.voidimportCSV(File file, int[] origin)Import depuis un reader au format CSV des données dans la matrice.voidimportCSV(Reader reader, int[] origin)Import depuis un reader au format CSV des données dans la matrice.voidimportCSV(Reader reader, int[] origin, String matrixName)Import depuis un reader au format CSV des données dans la matrice.booleanisSupportedCSV()Determine si la matrice supporte l'import et l'export CSVMatrixIteratoriterator()Retourne un iterator sur toute la matrice.MatrixIteratoriteratorNotZero()Retourne un iterator pour toutes les valeurs de la matrices differente de 0MatrixNDmap(MapFunction f)Applique une fonction sur chaque valeur de la matrice.doublemeanAll()Return all matrix data mean valueMatrixNDmeanOverDim(int dim)Effectue la moyenne des valeurs sur une dimension donnée.MatrixNDmeanOverDim(int dim, int step)Effectue la moyenne des valeurs sur une dimension donnée. la moyenne permet juste de regrouper dans une dimension un certain nombre de valeur.MatrixNDminus(MatrixND m)Soustrai la matrice courante avec la matrice passe en parametre et ce retourne elle meme.MatrixNDminuss(double d)Soustraction d'un scalaire à une matriceMatrixNDmult(MatrixND m)Multiplication normal (produit matriciel) de 2 matrices 2D.MatrixNDmults(double d)Multiplication d'une matrice par un scalaire.MatrixNDpaste(int[] origin, MatrixND mat)Copie une matrice dans la matrice actuelle.MatrixNDpaste(MatrixND mat)Copie une matrice dans la matrice actuelle.MatrixNDpasteSemantics(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éMatrixNDreduce()Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée.MatrixNDreduce(int minNbDim)Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée.MatrixNDreduceDims(int... dims)Reduit le matrice seulement sur les dimensions passées en argument.voidsetDimensionName(int dim, String name)Permet de mettre un nom à une dimension.voidsetDimensionName(String[] names)Permet de mettre des noms aux différentes dimension.voidsetDimensionNames(String[] names)Permet de mettre des noms aux différentes dimension.voidsetName(String name)Permet de donner un nom à la matrice.<E> voidsetSemantic(int dim, List<E> sem)Modifie la semantique d'une dimension.<E> voidsetSemantics(int dim, List<E> sem)Modifie la semantique d'une dimension.voidsetValue(int[] dimensions, 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.voidsetValue(int x, double d)Modify a 1D matrix value.voidsetValue(int x, int y, double d)Modify a 2D matrix value.voidsetValue(int x, int y, int z, double d)Modify a 3D matrix value.voidsetValue(int x, int y, int z, int t, double d)Modify a 4D matrix value.voidsetValue(Object[] coordinates, double d)Modifie un element de la matrice en fonction des dimensions passé en paramètre.voidsetValue(Object x, double d)Modify a 1D matrix value.voidsetValue(Object x, Object y, double d)Modify a 2D matrix value.voidsetValue(Object x, Object y, Object z, double d)Modify a 3D matrix value.voidsetValue(Object x, Object y, Object z, Object t, double d)Modify a 4D matrix value.longsize()Retourne le nombre d'element dans la matrice [2, 3, 5] donnera 30doublesumAll()Somme toutes les valeurs de la matrice.MatrixNDsumOverDim(int dim)Somme la matrice sur une dimension donnée.MatrixNDsumOverDim(int dim, int step)Somme la matrice mais la matrice reste de la même dimension. la somme permet juste de regrouper dans une dimension un certain nombre de valeur.MatrixNDsumOverDim(int dim, int start, int nb)List<?>toList()Donne la matrice sous forme de List de list ... de doubleStringtoString()MatrixNDtranspose()retourne le transpose de la matrice.protected MatrixNDwrap(MatrixND m)Les matrices retournees par cette classe doivent etre wrapper pour que les semantiques continues de fonctionner
-
-
-
Field Detail
-
matrix
protected MatrixND matrix
-
decorator
protected SemanticsDecorator decorator
-
cacheSemantics
protected List[] cacheSemantics
-
-
Constructor Detail
-
MatrixSemanticsDecorator
public MatrixSemanticsDecorator(MatrixND matrix, SemanticsDecorator decorator)
- Parameters:
matrix- La matrice dont il faut decorer les semantiquesdecorator- l'objet utilise pour la decoration
-
-
Method Detail
-
getNumberOfAssignedValue
public long getNumberOfAssignedValue()
Description copied from interface:MatrixNDReturne number of assigned value, assigned value is value stored in memory- Specified by:
getNumberOfAssignedValuein interfaceMatrixND
-
wrap
protected MatrixND wrap(MatrixND m)
Les matrices retournees par cette classe doivent etre wrapper pour que les semantiques continues de fonctionner- Parameters:
m-- Returns:
-
getFactory
public MatrixFactory getFactory()
Description copied from interface:MatrixNDRetourne la factory qui a permit de creer la matrice.- Specified by:
getFactoryin interfaceMatrixND- Returns:
- la
MatrixFactory - See Also:
MatrixFactory
-
getSemantics
public List[] getSemantics()
Description copied from interface:MatrixNDDonne toutes les semantiques de la matrice. Si la matrice n'a pas de semantique retourne null.- Specified by:
getSemanticsin interfaceMatrixND- Returns:
- la liste des semantics
-
getSemantics
public List getSemantics(int dim)
Description copied from interface:MatrixNDRetourne la semantique pour une dimension.- Specified by:
getSemanticsin interfaceMatrixND- Parameters:
dim- la dimension pour lequel on veut la semantique- Returns:
- la semantique de la dimension on null s'il n'y a pas de semantique
-
getSemantic
public List getSemantic(int dim)
Description copied from interface:MatrixNDRetourne la semantique pour une dimension.- Specified by:
getSemanticin interfaceMatrixND- Parameters:
dim- la dimension pour lequel on veut la semantique- Returns:
- la semantique de la dimension on null s'il n'y a pas de semantique
-
setSemantics
public <E> void setSemantics(int dim, List<E> sem)Description copied from interface:MatrixNDModifie la semantique d'une dimension.- Specified by:
setSemanticsin interfaceMatrixND- Type Parameters:
E- data type- Parameters:
dim- dimension to modify semanticsem- new semantic to set
-
setSemantic
public <E> void setSemantic(int dim, List<E> sem)Description copied from interface:MatrixNDModifie la semantique d'une dimension.- Specified by:
setSemanticin interfaceMatrixND- Type Parameters:
E- data type- Parameters:
dim- dimension to modify semanticsem- new semantic to set
-
setName
public void setName(String name)
Description copied from interface:MatrixNDPermet de donner un nom à la matrice.
-
getName
public String getName()
Description copied from interface:MatrixNDRetourne le nom de la matrice.
-
setDimensionName
public void setDimensionName(String[] names)
Description copied from interface:MatrixNDPermet de mettre des noms aux différentes dimension.- Specified by:
setDimensionNamein interfaceMatrixND- Parameters:
names- names to set
-
setDimensionNames
public void setDimensionNames(String[] names)
Description copied from interface:MatrixNDPermet de mettre des noms aux différentes dimension.- Specified by:
setDimensionNamesin interfaceMatrixND- Parameters:
names- names to set
-
getDimensionName
public String[] getDimensionName()
Description copied from interface:MatrixNDPermet de recuperer les noms des dimension.- Specified by:
getDimensionNamein interfaceMatrixND- Returns:
- tableau des noms de dimension.
-
getDimensionNames
public String[] getDimensionNames()
Description copied from interface:MatrixNDPermet de recuperer les noms des dimension.- Specified by:
getDimensionNamesin interfaceMatrixND- Returns:
- tableau des noms de dimension.
-
setDimensionName
public void setDimensionName(int dim, String name)Description copied from interface:MatrixNDPermet de mettre un nom à une dimension.- Specified by:
setDimensionNamein interfaceMatrixND- Parameters:
dim- la dimension dont on veut changer le nomname- le nom à donner à la dimension
-
getDimensionName
public String getDimensionName(int dim)
Description copied from interface:MatrixNDRetourne le nom de la dimension demandée.- Specified by:
getDimensionNamein interfaceMatrixND- Parameters:
dim- la dimension dont on veut le nom- Returns:
- le nom de la dimension ou la chaine vide si la dimension n'a pas de nom @ si la dimension demandé n'est pas valide
-
getMaxOccurence
public double getMaxOccurence()
Description copied from interface:MatrixNDRetourne 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:
getMaxOccurencein interfaceMatrixND- Returns:
- la valeur la plus nombreuse dans le tableau
-
getMaxOccurrence
public double getMaxOccurrence()
Description copied from interface:MatrixNDRetourne 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:
getMaxOccurrencein interfaceMatrixND- Returns:
- la valeur la plus nombreuse dans le tableau
-
getNbDim
public int getNbDim()
Description copied from interface:MatrixNDRetourne le nombre de dimensions de la matrice.
-
getDimCount
public int getDimCount()
Description copied from interface:MatrixNDRetourne le nombre de dimensions de la matrice.- Specified by:
getDimCountin interfaceMatrixND- Returns:
- le nombre de dimensions de la matrice.
-
getDim
public int[] getDim()
Description copied from interface:MatrixNDRetourne les dimensions de la matrice.
-
getDim
public int getDim(int d)
Description copied from interface:MatrixNDRetourne la dimension de la matrice dans la dimension d.
-
size
public long size()
Description copied from interface:MatrixNDRetourne le nombre d'element dans la matrice [2, 3, 5] donnera 30
-
iterator
public MatrixIterator iterator()
Description copied from interface:MatrixNDRetourne un iterator sur toute la matrice.
-
iteratorNotZero
public MatrixIterator iteratorNotZero()
Description copied from interface:MatrixNDRetourne un iterator pour toutes les valeurs de la matrices differente de 0- Specified by:
iteratorNotZeroin interfaceMatrixND- Returns:
- matrix iterator
-
map
public MatrixND map(MapFunction f)
Description copied from interface:MatrixNDApplique une fonction sur chaque valeur de la matrice.
-
getValue
public double getValue(int[] dimensions)
Description copied from interface:MatrixNDRenvoie 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.
-
getValue
public double getValue(int x)
Description copied from interface:MatrixNDReturn a 1D matrix value.
-
getValue
public double getValue(int x, int y)Description copied from interface:MatrixNDReturn a 2D matrix value.
-
getValue
public double getValue(int x, int y, int z)Description copied from interface:MatrixNDReturn a 3D matrix value.
-
getValue
public double getValue(int x, int y, int z, int t)Description copied from interface:MatrixNDReturn a 4D matrix value.
-
getValue
public double getValue(Object[] coordinates)
Description copied from interface:MatrixNDRenvoie un element de la matrice demandée en fonction des dimensions passé en paramètre.
-
getValue
public double getValue(Object x)
Description copied from interface:MatrixNDReturn a 1D matrix value.
-
getValue
public double getValue(Object x, Object y)
Description copied from interface:MatrixNDReturn a 2D matrix value.
-
getValue
public double getValue(Object x, Object y, Object z)
Description copied from interface:MatrixNDReturn a 3D matrix value.
-
getValue
public double getValue(Object x, Object y, Object z, Object t)
Description copied from interface:MatrixNDReturn a 4D matrix value.
-
setValue
public void setValue(int[] dimensions, double d)Description copied from interface:MatrixNDModifie 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.
-
setValue
public void setValue(int x, double d)Description copied from interface:MatrixNDModify a 1D matrix value.
-
setValue
public void setValue(int x, int y, double d)Description copied from interface:MatrixNDModify a 2D matrix value.
-
setValue
public void setValue(int x, int y, int z, double d)Description copied from interface:MatrixNDModify a 3D matrix value.
-
setValue
public void setValue(int x, int y, int z, int t, double d)Description copied from interface:MatrixNDModify a 4D matrix value.
-
setValue
public void setValue(Object[] coordinates, double d)
Description copied from interface:MatrixNDModifie un element de la matrice en fonction des dimensions passé en paramètre.
-
setValue
public void setValue(Object x, double d)
Description copied from interface:MatrixNDModify a 1D matrix value.
-
setValue
public void setValue(Object x, Object y, double d)
Description copied from interface:MatrixNDModify a 2D matrix value.
-
setValue
public void setValue(Object x, Object y, Object z, double d)
Description copied from interface:MatrixNDModify a 3D matrix value.
-
setValue
public void setValue(Object x, Object y, Object z, Object t, double d)
Description copied from interface:MatrixNDModify a 4D matrix value.
-
copy
public MatrixND copy()
Description copied from interface:MatrixNDCopy la matrice pour pouvoir la modifier sans perdre les donnees initiales.
-
clone
public MatrixND clone()
Description copied from interface:MatrixNDCréer une nouvelle instance clonée de celle-ci
-
sumAll
public double sumAll()
Description copied from interface:MatrixNDSomme toutes les valeurs de la matrice.
-
sumOverDim
public MatrixND sumOverDim(int dim)
Description copied from interface:MatrixNDSomme 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:
sumOverDimin interfaceMatrixND- Parameters:
dim- la dimension sur lequel il faut faire la somme- Returns:
- new matrix
-
sumOverDim
public MatrixND sumOverDim(int dim, int step)
Description copied from interface:MatrixNDSomme la matrice mais la matrice reste de la même dimension. la somme permet juste de regrouper dans une dimension un certain nombre de valeur.pour la matrice suivante :
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
la somme sur la dimension 1 avec un pas de 2 donnera :3 5 7 9 7 9 11 13
c'est à dire que la ligne 0 et la ligne 1 sont sommées. ainsi que la ligne 2 avec la ligne 3.- Specified by:
sumOverDimin interfaceMatrixND- Parameters:
dim- la dimension sur lequel il faut faire les sommesstep- le pas qu'il faut utiliser pour regrouper les elements. Si le pas est inférieur à 0, le pas se comporte comme si on avait passé en argument la taille de la dimension. Un pas de 0 ou 1, retourne juste une copie de la matrice actuelle. si la division du pas avec la taille de la dimension ne donne pas un nombre entier, les elements restants ne sont pas pris en compte. Par exemple si la dimension a 10 élements et que l'on donne un pas de 3, dans la matrice resultat la dimension aura 3 elements qui seront la somme par 3 des 9 premiers element de la matrice courante. Le 10eme element sera perdu.- Returns:
- une nouvelle matrice avec le meme nombre de dimension mais dont la dimension passé en paramètre aura comme taille, le resultat de la division entier de la taille actuelle par le step
-
sumOverDim
public MatrixND sumOverDim(int dim, int start, int nb)
- Specified by:
sumOverDimin interfaceMatrixND
-
meanAll
public double meanAll()
Description copied from interface:MatrixNDReturn all matrix data mean value
-
meanOverDim
public MatrixND meanOverDim(int dim)
Description copied from interface:MatrixNDEffectue la moyenne des valeurs sur une dimension donnée. La matrice résultat à le même nombre de dimension, pas la dimension moyenisée, ne contient qu'une ligne.par exemple pour la matrice suivante si on fait la moyenne sur la dimension 1 cela donnera
1 2 3 8 9 4 7 6 5
5.33 4.66 4
- Specified by:
meanOverDimin interfaceMatrixND- Parameters:
dim- la dimension sur lequel il faut faire la moyenne- Returns:
- new matrix
-
meanOverDim
public MatrixND meanOverDim(int dim, int step)
Description copied from interface:MatrixNDEffectue la moyenne des valeurs sur une dimension donnée. la moyenne permet juste de regrouper dans une dimension un certain nombre de valeur.pour la matrice suivante :
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
la moyenne sur la dimension 1 avec un pas de 2 donnera :1.5 3.5 4.5 4.5 4.5 4.5 5.5 6.5
c'est à dire que sur la ligne 0 et la ligne 1 on fait la moyenne. ainsi que la ligne 2 avec la ligne 3.- Specified by:
meanOverDimin interfaceMatrixND- Parameters:
dim- la dimension sur lequel il faut faire les sommesstep- le pas qu'il faut utiliser pour regrouper les elements. Si le pas est inférieur à 0, le pas se comporte comme si on avait passé en argument la taille de la dimension. Un pas de 0 ou 1, retourne juste une copie de la matrice actuelle. si la division du pas avec la taille de la dimension ne donne pas un nombre entier, les elements restants ne sont pas pris en compte. Par exemple si la dimension a 10 élements et que l'on donne un pas de 3, dans la matrice resultat la dimension aura 3 elements qui seront la somme par 3 des 9 premiers element de la matrice courante. Le 10eme element sera perdu.- Returns:
- une nouvelle matrice avec le meme nombre de dimension mais dont la dimension passé en paramètre aura comme taille, le resultat de la division entier de la taille actuelle par le step
-
cut
public MatrixND cut(int dim, int[] toCut)
Description copied from interface:MatrixNDPermet de supprimer des éléments de la matrice. Par exemple, pour la matrice1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
un cut(1, [0,2]) donnera2 4 3 5 4 6 5 7
-
paste
public MatrixND paste(MatrixND mat)
Description copied from interface:MatrixNDCopie une matrice dans la matrice actuelle. La matrice à copier à le même nombre de dimension. Si la matrice à copier est trop grande seul les éléments pouvant être copier le seront.
-
paste
public MatrixND paste(int[] origin, MatrixND mat)
Description copied from interface:MatrixNDCopie une matrice dans la matrice actuelle. La matrice à copier à le même nombre de dimension. Si la matrice à copier est trop grande seul les éléments pouvant être copier le seront.
-
pasteSemantics
public MatrixND pasteSemantics(MatrixND mat)
Description copied from interface:MatrixNDModifie 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:
pasteSemanticsin interfaceMatrixND- Parameters:
mat- matrix to paste- Returns:
- new matrix
-
getSubMatrix
public MatrixND getSubMatrix(int dim, Object start, int nb)
Description copied from interface:MatrixNDPermet 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:
getSubMatrixin interfaceMatrixND- Parameters:
dim- la dimension dans lequel on veut une sous matrice si dim est négatif alors la dimension est prise à partir de la fin par exemple si l'on veut la derniere dimension il faut passer -1 pour dimstart- la position dans dim d'ou il faut partir pour prendre la sous matrice.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, int start, int nb)
Description copied from interface:MatrixNDPermet 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:
getSubMatrixin interfaceMatrixND- Parameters:
dim- la dimension dans lequel on veut une sous matricestart- 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 -1nb- 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:MatrixNDPermet 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:
getSubMatrixin interfaceMatrixND- Parameters:
dim- la dimension dans lequel on veut une sous matriceelem- 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:MatrixNDPermet 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:
getSubMatrixin interfaceMatrixND- Parameters:
dim- la dimension dans lequel on veut une sous matriceelem- 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(Object[]... elem)
Description copied from interface:MatrixNDPermet de prendre une sous matrice dans la matrice courante. Réalise plusieurs appels àMatrixND.getSubMatrix(int, Object...)suivant l'implémentation.- Specified by:
getSubMatrixin interfaceMatrixND- Parameters:
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(int[]... elems)
Description copied from interface:MatrixNDPermet de prendre une sous matrice dans la matrice courante. Réalise plusieurs appels aMatrixND.getSubMatrix(int, int[])suivant l'implementation.- Specified by:
getSubMatrixin interfaceMatrixND- 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)
-
add
public MatrixND add(MatrixND m)
Description copied from interface:MatrixNDAddition la matrice courante avec la matrice passe en parametre et se retourne elle meme.
-
minus
public MatrixND minus(MatrixND m)
Description copied from interface:MatrixNDSoustrai la matrice courante avec la matrice passe en parametre et ce retourne elle meme.
-
transpose
public MatrixND transpose()
Description copied from interface:MatrixNDretourne le transpose de la matrice.
-
reduce
public MatrixND reduce()
Description copied from interface:MatrixNDReduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée. Au pire cette méthode retourne une matrice à une seule dimension à un seul élément.
-
reduce
public MatrixND reduce(int minNbDim)
Description copied from interface:MatrixNDReduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée. Au pire cette méthode retourne une matrice à une seule dimension à un seul élément.
-
reduceDims
public MatrixND reduceDims(int... dims)
Description copied from interface:MatrixNDReduit le matrice seulement sur les dimensions passées en argument. Si une des dimensions passées en arguement n'a pas un seul élément, cette dimension n'est pas prise en compte.- Specified by:
reduceDimsin interfaceMatrixND- Parameters:
dims- les dimensions sur lequel il faut faire la reduction- Returns:
- une nouvelle matrice
-
mult
public MatrixND mult(MatrixND m)
Description copied from interface:MatrixNDMultiplication normal (produit matriciel) de 2 matrices 2D.
-
mults
public MatrixND mults(double d)
Description copied from interface:MatrixNDMultiplication d'une matrice par un scalaire.
-
divs
public MatrixND divs(double d)
Description copied from interface:MatrixNDMultiplication d'une matrice par un scalaire.
-
adds
public MatrixND adds(double d)
Description copied from interface:MatrixNDAddition d'un scalaire à une matrice.
-
minuss
public MatrixND minuss(double d)
Description copied from interface:MatrixNDSoustraction d'un scalaire à une matrice
-
toList
public List<?> toList()
Description copied from interface:MatrixNDDonne la matrice sous forme de List de list ... de double
-
fromList
public void fromList(List<?> list)
Description copied from interface:MatrixNDPermet de charger une matrice a partir d'une representation List
-
isSupportedCSV
public boolean isSupportedCSV()
Description copied from interface:MatrixNDDetermine si la matrice supporte l'import et l'export CSV- Specified by:
isSupportedCSVin interfaceMatrixND- Returns:
- support du CSV
-
importCSV
public void importCSV(Reader reader, int[] origin) throws IOException
Description copied from interface:MatrixNDImport depuis un reader au format CSV des données dans la matrice.- Specified by:
importCSVin interfaceMatrixND- Parameters:
reader- le reader à importerorigin- le point à partir duquel il faut faire l'importation- Throws:
IOException
-
importCSV
public void importCSV(Reader reader, int[] origin, String matrixName) throws IOException
Description copied from interface:MatrixNDImport depuis un reader au format CSV des données dans la matrice.- Specified by:
importCSVin interfaceMatrixND- Parameters:
reader- le reader à importerorigin- le point à partir duquel il faut faire l'importationmatrixName- le nom de la matrice- Throws:
IOException
-
importCSV
public void importCSV(File file, int[] origin) throws IOException
Description copied from interface:MatrixNDImport depuis un reader au format CSV des données dans la matrice. Call {importCSV(Reader, int[], String)} with file name as matrix name.- Specified by:
importCSVin interfaceMatrixND- Parameters:
file- file to readorigin- le point à partir duquel il faut faire l'importation- Throws:
IOException
-
exportCSV
public void exportCSV(Writer writer, boolean withSemantics) throws IOException
Description copied from interface:MatrixNDExport dans un writer au format CSV de la matrice- Specified by:
exportCSVin interfaceMatrixND- Parameters:
writer- le writer ou copier la matricewithSemantics- export ou pas des semantiques de la matrice dans le writer- Throws:
IOException
-
exportCSVND
public void exportCSVND(Writer writer, boolean withSemantics) throws IOException
Description copied from interface:MatrixNDExport dans un writer au format CSV de la matrice- Specified by:
exportCSVNDin interfaceMatrixND- Parameters:
writer- le writer ou copier la matricewithSemantics- export ou pas des semantiques de la matrice dans le writer- Throws:
IOException
-
equalsValues
public boolean equalsValues(MatrixND mat)
Description copied from interface:MatrixNDVerifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiques- Specified by:
equalsValuesin interfaceMatrixND- Returns:
- equlaity on values
-
-