public class MatrixSemanticsDecorator extends Object implements MatrixND
Modifier and Type | Class and Description |
---|---|
static class |
MatrixSemanticsDecorator.SemanticsDecoratorMatrixIterator |
Modifier and Type | Field and Description |
---|---|
protected List[] |
cacheSemantics |
protected SemanticsDecorator |
decorator |
protected MatrixND |
matrix |
Constructor and Description |
---|
MatrixSemanticsDecorator(MatrixND matrix,
SemanticsDecorator decorator) |
Modifier and Type | Method and Description |
---|---|
MatrixND |
add(MatrixND m)
Addition la matrice courante avec la matrice passe en parametre et se
retourne elle meme.
|
MatrixND |
adds(double d)
Addition d'un scalaire à une matrice.
|
MatrixND |
clone()
Créer une nouvelle instance clonée de celle-ci
|
MatrixND |
copy()
Copy la matrice pour pouvoir la modifier sans perdre les donnees
initiales.
|
MatrixND |
cut(int dim,
int[] toCut)
Permet de supprimer des éléments de la matrice.
|
MatrixND |
divs(double d)
Multiplication d'une matrice par un scalaire.
|
boolean |
equalsValues(MatrixND mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et
pas les semantiques
|
void |
exportCSV(Writer writer,
boolean withSemantics)
Export dans un writer au format CSV de la matrice
|
void |
exportCSVND(Writer writer,
boolean withSemantics)
Export dans un writer au format CSV de la matrice
|
void |
fromList(List<?> list)
Permet de charger une matrice a partir d'une representation List
|
int[] |
getDim()
Retourne les dimensions de la matrice.
|
int |
getDim(int d)
Retourne la dimension de la matrice dans la dimension d.
|
int |
getDimCount()
Retourne le nombre de dimensions de la matrice.
|
String[] |
getDimensionName()
Permet de recuperer les noms des dimension.
|
String |
getDimensionName(int dim)
Retourne le nom de la dimension demandée.
|
String[] |
getDimensionNames()
Permet de recuperer les noms des dimension.
|
MatrixFactory |
getFactory()
Retourne la factory qui a permit de creer la matrice.
|
double |
getMaxOccurence()
Retourne la valeur la plus couramment rencontree dans un tableau.
|
double |
getMaxOccurrence()
Retourne la valeur la plus courrement rencontrer dans un tableau.
|
String |
getName()
Retourne le nom de la matrice.
|
int |
getNbDim()
Retourne le nombre de dimensions de la matrice.
|
int |
getNumberOfAssignedValue()
Returne number of assigned value, assigned value is value stored in memory
|
List |
getSemantic(int dim)
Retourne la semantique pour une dimension.
|
List[] |
getSemantics()
Donne toutes les semantiques de la matrice.
|
List |
getSemantics(int dim)
Retourne la semantique pour une dimension.
|
MatrixND |
getSubMatrix(int[]... elems)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
int[] elem)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
int start,
int nb)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
Object... elem)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(int dim,
Object start,
int nb)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixND |
getSubMatrix(Object[]... elem)
Permet de prendre une sous matrice dans la matrice courante.
|
double |
getValue(int x)
Return a 1D matrix value.
|
double |
getValue(int[] dimensions)
Renvoie un element de la matrice demandée en fonction des dimensions
passé en paramètre.
|
double |
getValue(int x,
int y)
Return a 2D matrix value.
|
double |
getValue(int x,
int y,
int z)
Return a 3D matrix value.
|
double |
getValue(int x,
int y,
int z,
int t)
Return a 4D matrix value.
|
double |
getValue(Object x)
Return a 1D matrix value.
|
double |
getValue(Object[] coordinates)
Renvoie un element de la matrice demandée en fonction des dimensions
passé en paramètre.
|
double |
getValue(Object x,
Object y)
Return a 2D matrix value.
|
double |
getValue(Object x,
Object y,
Object z)
Return a 3D matrix value.
|
double |
getValue(Object x,
Object y,
Object z,
Object t)
Return a 4D matrix value.
|
void |
importCSV(File file,
int[] origin)
Import depuis un reader au format CSV des données dans la matrice.
|
void |
importCSV(Reader reader,
int[] origin)
Import depuis un reader au format CSV des données dans la matrice.
|
void |
importCSV(Reader reader,
int[] origin,
String matrixName)
Import depuis un reader au format CSV des données dans la matrice.
|
boolean |
isSupportedCSV()
Determine si la matrice supporte l'import et l'export CSV
|
MatrixIterator |
iterator()
Retourne un iterator sur toute la matrice.
|
MatrixIterator |
iteratorNotZero()
Retourne un iterator pour toutes les valeurs de la matrices differente
de 0
|
MatrixND |
map(MapFunction f)
Applique une fonction sur chaque valeur de la matrice.
|
double |
meanAll()
Return all matrix data mean value
|
MatrixND |
meanOverDim(int dim)
Effectue la moyenne des valeurs sur une dimension donnée.
|
MatrixND |
meanOverDim(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.
|
MatrixND |
minus(MatrixND m)
Soustrai la matrice courante avec la matrice passe en parametre et ce
retourne elle meme.
|
MatrixND |
minuss(double d)
Soustraction d'un scalaire à une matrice
|
MatrixND |
mult(MatrixND m)
Multiplication normal (produit matriciel) de 2 matrices 2D.
|
MatrixND |
mults(double d)
Multiplication d'une matrice par un scalaire.
|
MatrixND |
paste(int[] origin,
MatrixND mat)
Copie une matrice dans la matrice actuelle.
|
MatrixND |
paste(MatrixND mat)
Copie une matrice dans la matrice actuelle.
|
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é
|
MatrixND |
reduce()
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un
élement soit supprimée.
|
MatrixND |
reduce(int minNbDim)
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un
élement soit supprimée.
|
MatrixND |
reduceDims(int... dims)
Reduit le matrice seulement sur les dimensions passées en argument.
|
void |
setDimensionName(int dim,
String name)
Permet de mettre un nom à une dimension.
|
void |
setDimensionName(String[] names)
Permet de mettre des noms aux différentes dimension.
|
void |
setDimensionNames(String[] names)
Permet de mettre des noms aux différentes dimension.
|
void |
setName(String name)
Permet de donner un nom à la matrice.
|
<E> void |
setSemantic(int dim,
List<E> sem)
Modifie la semantique d'une dimension.
|
<E> void |
setSemantics(int dim,
List<E> sem)
Modifie la semantique d'une dimension.
|
void |
setValue(int[] dimensions,
double d)
Modifie un element de la matrice en fonction des dimensions passé en
paramètre.
|
void |
setValue(int x,
double d)
Modify a 1D matrix value.
|
void |
setValue(int x,
int y,
double d)
Modify a 2D matrix value.
|
void |
setValue(int x,
int y,
int z,
double d)
Modify a 3D matrix value.
|
void |
setValue(int x,
int y,
int z,
int t,
double d)
Modify a 4D matrix value.
|
void |
setValue(Object[] coordinates,
double d)
Modifie un element de la matrice en fonction des dimensions passé en
paramètre.
|
void |
setValue(Object x,
double d)
Modify a 1D matrix value.
|
void |
setValue(Object x,
Object y,
double d)
Modify a 2D matrix value.
|
void |
setValue(Object x,
Object y,
Object z,
double d)
Modify a 3D matrix value.
|
void |
setValue(Object x,
Object y,
Object z,
Object t,
double d)
Modify a 4D matrix value.
|
int |
size()
Retourne le nombre d'element dans la matrice [2, 3, 5] donnera 30
|
double |
sumAll()
Somme toutes les valeurs de la matrice.
|
MatrixND |
sumOverDim(int dim)
Somme la matrice sur une dimension donnée.
|
MatrixND |
sumOverDim(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.
|
MatrixND |
sumOverDim(int dim,
int start,
int nb) |
List<?> |
toList()
Donne la matrice sous forme de List de list ... de double
|
String |
toString() |
MatrixND |
transpose()
retourne le transpose de la matrice.
|
protected MatrixND |
wrap(MatrixND m)
Les matrices retournees par cette classe doivent etre wrapper pour que
les semantiques continues de fonctionner
|
protected MatrixND matrix
protected SemanticsDecorator decorator
protected List[] cacheSemantics
public MatrixSemanticsDecorator(MatrixND matrix, SemanticsDecorator decorator)
matrix
- La matrice dont il faut decorer les semantiquesdecorator
- l'objet utilise pour la decorationpublic int getNumberOfAssignedValue()
MatrixND
getNumberOfAssignedValue
in interface MatrixND
protected MatrixND wrap(MatrixND m)
m
- public MatrixFactory getFactory()
MatrixND
getFactory
in interface MatrixND
MatrixFactory
MatrixFactory
public List[] getSemantics()
MatrixND
getSemantics
in interface MatrixND
public List getSemantics(int dim)
MatrixND
getSemantics
in interface MatrixND
dim
- la dimension pour lequel on veut la semantiquepublic List getSemantic(int dim)
MatrixND
getSemantic
in interface MatrixND
dim
- la dimension pour lequel on veut la semantiquepublic <E> void setSemantics(int dim, List<E> sem)
MatrixND
setSemantics
in interface MatrixND
E
- data typedim
- dimension to modify semanticsem
- new semantic to setpublic <E> void setSemantic(int dim, List<E> sem)
MatrixND
setSemantic
in interface MatrixND
E
- data typedim
- dimension to modify semanticsem
- new semantic to setpublic void setName(String name)
MatrixND
public String getName()
MatrixND
public void setDimensionName(String[] names)
MatrixND
setDimensionName
in interface MatrixND
names
- names to setpublic void setDimensionNames(String[] names)
MatrixND
setDimensionNames
in interface MatrixND
names
- names to setpublic String[] getDimensionName()
MatrixND
getDimensionName
in interface MatrixND
public String[] getDimensionNames()
MatrixND
getDimensionNames
in interface MatrixND
public void setDimensionName(int dim, String name)
MatrixND
setDimensionName
in interface MatrixND
dim
- la dimension dont on veut changer le nomname
- le nom à donner à la dimensionpublic String getDimensionName(int dim)
MatrixND
getDimensionName
in interface MatrixND
dim
- la dimension dont on veut le nompublic double getMaxOccurence()
MatrixND
getMaxOccurence
in interface MatrixND
public double getMaxOccurrence()
MatrixND
getMaxOccurrence
in interface MatrixND
public int getNbDim()
MatrixND
public int getDimCount()
MatrixND
getDimCount
in interface MatrixND
public int[] getDim()
MatrixND
public int getDim(int d)
MatrixND
public int size()
MatrixND
public MatrixIterator iterator()
MatrixND
public MatrixIterator iteratorNotZero()
MatrixND
iteratorNotZero
in interface MatrixND
public MatrixND map(MapFunction f)
MatrixND
public double getValue(int[] dimensions)
MatrixND
public double getValue(int x)
MatrixND
public double getValue(int x, int y)
MatrixND
public double getValue(int x, int y, int z)
MatrixND
public double getValue(int x, int y, int z, int t)
MatrixND
public double getValue(Object[] coordinates)
MatrixND
public double getValue(Object x)
MatrixND
public double getValue(Object x, Object y)
MatrixND
public double getValue(Object x, Object y, Object z)
MatrixND
public double getValue(Object x, Object y, Object z, Object t)
MatrixND
public void setValue(int[] dimensions, double d)
MatrixND
public void setValue(int x, double d)
MatrixND
public void setValue(int x, int y, double d)
MatrixND
public void setValue(int x, int y, int z, double d)
MatrixND
public void setValue(int x, int y, int z, int t, double d)
MatrixND
public void setValue(Object[] coordinates, double d)
MatrixND
public void setValue(Object x, double d)
MatrixND
public void setValue(Object x, Object y, double d)
MatrixND
public void setValue(Object x, Object y, Object z, double d)
MatrixND
public void setValue(Object x, Object y, Object z, Object t, double d)
MatrixND
public MatrixND copy()
MatrixND
public MatrixND clone()
MatrixND
public double sumAll()
MatrixND
public MatrixND sumOverDim(int dim)
MatrixND
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
sumOverDim
in interface MatrixND
dim
- la dimension sur lequel il faut faire la sommepublic MatrixND sumOverDim(int dim, int step)
MatrixND
pour la matrice suivante :
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7la somme sur la dimension 1 avec un pas de 2 donnera :
3 5 7 9 7 9 11 13c'est à dire que la ligne 0 et la ligne 1 sont sommées. ainsi que la ligne 2 avec la ligne 3.
sumOverDim
in interface MatrixND
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.public MatrixND sumOverDim(int dim, int start, int nb)
sumOverDim
in interface MatrixND
public double meanAll()
MatrixND
public MatrixND meanOverDim(int dim)
MatrixND
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
meanOverDim
in interface MatrixND
dim
- la dimension sur lequel il faut faire la moyennepublic MatrixND meanOverDim(int dim, int step)
MatrixND
pour la matrice suivante :
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7la 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.5c'est à dire que sur la ligne 0 et la ligne 1 on fait la moyenne. ainsi que la ligne 2 avec la ligne 3.
meanOverDim
in interface MatrixND
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.public MatrixND cut(int dim, int[] toCut)
MatrixND
1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7un cut(1, [0,2]) donnera
2 4 3 5 4 6 5 7
public MatrixND paste(MatrixND mat)
MatrixND
public MatrixND paste(int[] origin, MatrixND mat)
MatrixND
public MatrixND pasteSemantics(MatrixND mat)
MatrixND
pasteSemantics
in interface MatrixND
mat
- matrix to pastepublic MatrixND getSubMatrix(int dim, Object start, int nb)
MatrixND
getSubMatrix
in interface MatrixND
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.public MatrixND getSubMatrix(int dim, int start, int nb)
MatrixND
getSubMatrix
in interface MatrixND
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.public MatrixND getSubMatrix(int dim, Object... elem)
MatrixND
getSubMatrix
in interface MatrixND
dim
- la dimension dans lequel on veut une sous matriceelem
- les éléments dans la dimension à conserverpublic MatrixND getSubMatrix(int dim, int[] elem)
MatrixND
getSubMatrix
in interface MatrixND
dim
- la dimension dans lequel on veut une sous matriceelem
- les indices des éléments dans la dimension à conserverpublic MatrixND getSubMatrix(Object[]... elem)
MatrixND
MatrixND.getSubMatrix(int, Object...)
suivant
l'implémentation.getSubMatrix
in interface MatrixND
elem
- les éléments dans la dimension à conserverpublic MatrixND getSubMatrix(int[]... elems)
MatrixND
MatrixND.getSubMatrix(int, int[])
suivant
l'implementation.getSubMatrix
in interface MatrixND
elems
- les indices des éléments pour chaque dimension à conserverpublic MatrixND add(MatrixND m)
MatrixND
public MatrixND minus(MatrixND m)
MatrixND
public MatrixND transpose()
MatrixND
public MatrixND reduce()
MatrixND
public MatrixND reduce(int minNbDim)
MatrixND
public MatrixND reduceDims(int... dims)
MatrixND
reduceDims
in interface MatrixND
dims
- les dimensions sur lequel il faut faire la reductionpublic MatrixND mult(MatrixND m)
MatrixND
public MatrixND mults(double d)
MatrixND
public MatrixND divs(double d)
MatrixND
public MatrixND adds(double d)
MatrixND
public MatrixND minuss(double d)
MatrixND
public List<?> toList()
MatrixND
public void fromList(List<?> list)
MatrixND
public boolean isSupportedCSV()
MatrixND
isSupportedCSV
in interface MatrixND
public void importCSV(Reader reader, int[] origin) throws IOException
MatrixND
importCSV
in interface MatrixND
reader
- le reader à importerorigin
- le point à partir duquel il faut faire l'importationIOException
public void importCSV(Reader reader, int[] origin, String matrixName) throws IOException
MatrixND
importCSV
in interface MatrixND
reader
- le reader à importerorigin
- le point à partir duquel il faut faire l'importationmatrixName
- le nom de la matriceIOException
public void importCSV(File file, int[] origin) throws IOException
MatrixND
importCSV
in interface MatrixND
file
- file to readorigin
- le point à partir duquel il faut faire l'importationIOException
public void exportCSV(Writer writer, boolean withSemantics) throws IOException
MatrixND
exportCSV
in interface MatrixND
writer
- le writer ou copier la matricewithSemantics
- export ou pas des semantiques de la matrice dans le
writerIOException
public void exportCSVND(Writer writer, boolean withSemantics) throws IOException
MatrixND
exportCSVND
in interface MatrixND
writer
- le writer ou copier la matricewithSemantics
- export ou pas des semantiques de la matrice dans le
writerIOException
public boolean equalsValues(MatrixND mat)
MatrixND
equalsValues
in interface MatrixND
Copyright © 2004–2020 Code Lutin. All rights reserved.