Package org.nuiton.math.matrix
Class AbstractMatrixND
- java.lang.Object
-
- org.nuiton.math.matrix.AbstractMatrixND
-
- All Implemented Interfaces:
Serializable
,Cloneable
,MatrixND
- Direct Known Subclasses:
MatrixNDImpl
,MatrixProxy
,SubMatrix
public abstract class AbstractMatrixND extends Object implements MatrixND
Abstract matrix class with all dimension and semantics support (but no internal value storage). 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 char
CSV_SEPARATOR
Separateur CSV par défaut le point virgule.protected double
defaultValue
Deprecated.as of 2.1 seams unusedprotected int[]
dim
protected DimensionHelper
dimHelper
protected String[]
dimNames
protected MatrixFactory
factory
protected String
name
protected static Pattern
NUMBER
protected static String
NUMBER_REGEX
protected List<?>[]
semantics
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractMatrixND(MatrixFactory factory)
AbstractMatrixND(MatrixFactory factory, int[] dim)
AbstractMatrixND(MatrixFactory factory, String name, int[] dim)
AbstractMatrixND(MatrixFactory factory, String name, int[] dim, String[] dimNames)
AbstractMatrixND(MatrixFactory factory, String name, List<?>[] semantics)
AbstractMatrixND(MatrixFactory factory, String name, List<?>[] semantics, String[] dimNames)
AbstractMatrixND(MatrixFactory factory, List<?>[] semantics)
-
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.MatrixND
adds(double d)
Addition d'un scalaire à une matrice.MatrixND
clone()
Créer une nouvelle instance clonée de celle-ciMatrixND
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
equals(Object o)
boolean
equals(MatrixND mat)
boolean
equalsValues(MatrixND mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiquesvoid
exportCSV(Writer writer, boolean withSemantics)
Export dans un writer au format CSV de la matriceprotected void
exportCSV2D(Writer writer, boolean withSemantics)
Export dans un writer au format CSV de la matricevoid
exportCSVND(Writer writer, boolean withSemantics)
Export dans un writer au format CSV de la matricevoid
fromList(List<?> list)
Permet de charger une matrice a partir d'une representation Listint[]
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()
Deprecated.Use #getDimensionNames()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 utilisée pour créer cette matrice, la factory peut-être réutilisé pour créer d'autre matrice si besoin.double
getMaxOccurence()
Deprecated.double
getMaxOccurrence()
Retourne la valeur la plus courrement rencontrer dans un tableau.String
getName()
Retourne le nom de la matrice.int
getNbDim()
Deprecated.use #getDimCount() insteadList
getSemantic(int dim)
Retourne la semantique pour une dimension.List[]
getSemantics()
Donne toutes les semantiques de la matrice.List
getSemantics(int dim)
Deprecated.Use #getSemantic(dim)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[]... elems)
Permet de prendre une sous matrice dans la matrice courante.MatrixND
getSubMatrixOnSemantic(int dim, Object... elem)
Add to desambiguas some call with xpath engine, but do the same thinggetSubMatrix(int, Object[])
double
getValue(int x)
Return a 1D matrix value.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 matricevoid
importCSV(Reader reader, int[] origin, String matrixName)
Import depuis un reader au format CSV des données dans la matrice.protected void
importCSVND(Reader reader, int[] origin)
Import CSV file defined in Matrix ND format.protected void
init(int[] dim)
boolean
isSupportedCSV()
Deprecated.since 2.2, always returntrue
, CSV import/export is always supportedboolean
isValidCoordinates(int[] pos)
boolean
isValidCoordinates(Object[] pos)
MatrixND
map(MapFunction f)
Retourne la matrice elle meme.double
meanAll()
Return all matrix data mean valueMatrixND
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)
Modifie la matrice actuelle en lui soustrayant les valeurs de la matrice passé en parametre.MatrixND
minuss(double d)
Soustraction d'un scalaire à une matriceMatrixND
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)
Modifie la matrice actuel en metant les valeurs de mat passé en parametreMatrixND
paste(MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametreMatrixND
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.protected MatrixND
reduce(List<?> dimName, List<Object> sem, int[] correspondance)
Create new matrice from the current matrix.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)
Deprecated.Use #setDimensionName(String[])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)
Deprecated.Use #setSemantic(dim, List)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.long
size()
Retourne le nombre d'element dans la matrice [2, 3, 5] donnera 30double
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 doubleString
toString()
MatrixND
transpose()
retourne le transpose de la matrice.-
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.nuiton.math.matrix.MatrixND
getNumberOfAssignedValue, getValue, iterator, iteratorNotZero, setValue
-
-
-
-
Field Detail
-
dimHelper
protected transient DimensionHelper dimHelper
-
factory
protected transient MatrixFactory factory
-
name
protected String name
-
dimNames
protected String[] dimNames
-
dim
protected int[] dim
-
semantics
protected List<?>[] semantics
-
defaultValue
@Deprecated protected double defaultValue
Deprecated.as of 2.1 seams unused
-
CSV_SEPARATOR
public static final char CSV_SEPARATOR
Separateur CSV par défaut le point virgule.- See Also:
- Constant Field Values
-
NUMBER_REGEX
protected static final String NUMBER_REGEX
- See Also:
- Constant Field Values
-
NUMBER
protected static final Pattern NUMBER
-
-
Constructor Detail
-
AbstractMatrixND
protected AbstractMatrixND(MatrixFactory factory)
-
AbstractMatrixND
public AbstractMatrixND(MatrixFactory factory, int[] dim)
-
AbstractMatrixND
public AbstractMatrixND(MatrixFactory factory, List<?>[] semantics)
-
AbstractMatrixND
public AbstractMatrixND(MatrixFactory factory, String name, int[] dim)
-
AbstractMatrixND
public AbstractMatrixND(MatrixFactory factory, String name, int[] dim, String[] dimNames)
-
AbstractMatrixND
public AbstractMatrixND(MatrixFactory factory, String name, List<?>[] semantics)
-
AbstractMatrixND
public AbstractMatrixND(MatrixFactory factory, String name, List<?>[] semantics, String[] dimNames)
-
-
Method Detail
-
init
protected void init(int[] dim)
-
copy
public MatrixND copy()
Description copied from interface:MatrixND
Copy la matrice pour pouvoir la modifier sans perdre les donnees initiales.
-
clone
public MatrixND clone()
Description copied from interface:MatrixND
Créer une nouvelle instance clonée de celle-ci
-
getFactory
public MatrixFactory getFactory()
Retourne la factory utilisée pour créer cette matrice, la factory peut-être réutilisé pour créer d'autre matrice si besoin.- Specified by:
getFactory
in interfaceMatrixND
- Returns:
- la
MatrixFactory
- See Also:
MatrixFactory
-
getSemantics
public List[] getSemantics()
Description copied from interface:MatrixND
Donne toutes les semantiques de la matrice. Si la matrice n'a pas de semantique retourne null.- Specified by:
getSemantics
in interfaceMatrixND
- Returns:
- la liste des semantics
-
getSemantics
@Deprecated public List getSemantics(int dim)
Deprecated.Use #getSemantic(dim)Retourne la semantique pour une dimension.- Specified by:
getSemantics
in 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:MatrixND
Retourne la semantique pour une dimension.- Specified by:
getSemantic
in 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
@Deprecated public <E> void setSemantics(int dim, List<E> sem)
Deprecated.Use #setSemantic(dim, List)Modifie la semantique d'une dimension.- Specified by:
setSemantics
in 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:MatrixND
Modifie la semantique d'une dimension.- Specified by:
setSemantic
in 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:MatrixND
Permet de donner un nom à la matrice.
-
getName
public String getName()
Description copied from interface:MatrixND
Retourne le nom de la matrice.
-
getDimensionNames
public String[] getDimensionNames()
Description copied from interface:MatrixND
Permet de recuperer les noms des dimension.- Specified by:
getDimensionNames
in interfaceMatrixND
- Returns:
- tableau des noms de dimension.
-
setDimensionNames
public void setDimensionNames(String[] names)
Description copied from interface:MatrixND
Permet de mettre des noms aux différentes dimension.- Specified by:
setDimensionNames
in interfaceMatrixND
- Parameters:
names
- names to set
-
getDimensionName
@Deprecated public String[] getDimensionName()
Deprecated.Use #getDimensionNames()Permet de recuperer les noms des dimension.- Specified by:
getDimensionName
in interfaceMatrixND
- Returns:
- tableau des noms de dimension.
-
setDimensionName
@Deprecated public void setDimensionName(String[] names)
Deprecated.Use #setDimensionName(String[])Permet de mettre des noms aux différentes dimension.- Specified by:
setDimensionName
in interfaceMatrixND
- Parameters:
names
- names to set
-
setDimensionName
public void setDimensionName(int dim, String name)
Description copied from interface:MatrixND
Permet de mettre un nom à une dimension.- Specified by:
setDimensionName
in 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:MatrixND
Retourne le nom de la dimension demandée.- Specified by:
getDimensionName
in 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
@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
- 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
- Returns:
- la valeur la plus nombreuse dans le tableau
-
getNbDim
@Deprecated public int getNbDim()
Deprecated.use #getDimCount() insteadRetourne le nombre de dimensions de la matrice.
-
getDimCount
public int getDimCount()
Description copied from interface:MatrixND
Retourne le nombre de dimensions de la matrice.- Specified by:
getDimCount
in interfaceMatrixND
- Returns:
- le nombre de dimensions de la matrice.
-
getDim
public int[] getDim()
Description copied from interface:MatrixND
Retourne les dimensions de la matrice.
-
getDim
public int getDim(int d)
Description copied from interface:MatrixND
Retourne la dimension de la matrice dans la dimension d.
-
size
public long size()
Description copied from interface:MatrixND
Retourne le nombre d'element dans la matrice [2, 3, 5] donnera 30
-
map
public MatrixND map(MapFunction f)
Retourne la matrice elle meme. Les modifications sont faites directement dessus
-
getValue
public double getValue(Object[] coordinates)
Description copied from interface:MatrixND
Renvoie 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:MatrixND
Return a 1D matrix value.
-
getValue
public double getValue(Object x, Object y)
Description copied from interface:MatrixND
Return a 2D matrix value.
-
getValue
public double getValue(Object x, Object y, Object z)
Description copied from interface:MatrixND
Return a 3D matrix value.
-
getValue
public double getValue(Object x, Object y, Object z, Object t)
Description copied from interface:MatrixND
Return a 4D matrix value.
-
getValue
public double getValue(int x)
Description copied from interface:MatrixND
Return a 1D matrix value.
-
getValue
public double getValue(int x, int y)
Description copied from interface:MatrixND
Return a 2D matrix value.
-
getValue
public double getValue(int x, int y, int z)
Description copied from interface:MatrixND
Return a 3D matrix value.
-
getValue
public double getValue(int x, int y, int z, int t)
Description copied from interface:MatrixND
Return a 4D matrix value.
-
setValue
public void setValue(Object[] coordinates, double d)
Description copied from interface:MatrixND
Modifie 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:MatrixND
Modify a 1D matrix value.
-
setValue
public void setValue(Object x, Object y, double d)
Description copied from interface:MatrixND
Modify a 2D matrix value.
-
setValue
public void setValue(Object x, Object y, Object z, double d)
Description copied from interface:MatrixND
Modify a 3D matrix value.
-
setValue
public void setValue(Object x, Object y, Object z, Object t, double d)
Description copied from interface:MatrixND
Modify a 4D matrix value.
-
setValue
public void setValue(int x, double d)
Description copied from interface:MatrixND
Modify a 1D matrix value.
-
setValue
public void setValue(int x, int y, double d)
Description copied from interface:MatrixND
Modify a 2D matrix value.
-
setValue
public void setValue(int x, int y, int z, double d)
Description copied from interface:MatrixND
Modify a 3D matrix value.
-
setValue
public void setValue(int x, int y, int z, int t, double d)
Description copied from interface:MatrixND
Modify a 4D matrix value.
-
equals
public boolean equals(MatrixND mat)
-
equalsValues
public boolean equalsValues(MatrixND mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiques- Specified by:
equalsValues
in interfaceMatrixND
- Parameters:
mat
-- Returns:
- equality on values
-
toList
public List<?> toList()
Description copied from interface:MatrixND
Donne la matrice sous forme de List de list ... de double
-
fromList
public void fromList(List<?> list)
Description copied from interface:MatrixND
Permet de charger une matrice a partir d'une representation List
-
isValidCoordinates
public boolean isValidCoordinates(int[] pos)
-
isValidCoordinates
public boolean isValidCoordinates(Object[] pos)
-
sumAll
public double sumAll()
Description copied from interface:MatrixND
Somme toutes les valeurs de la matrice.
-
sumOverDim
public MatrixND sumOverDim(int dim)
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
- 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:MatrixND
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.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:
sumOverDim
in 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:
sumOverDim
in interfaceMatrixND
-
meanAll
public double meanAll()
Description copied from interface:MatrixND
Return all matrix data mean value
-
meanOverDim
public MatrixND meanOverDim(int dim)
Description copied from interface:MatrixND
Effectue 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:
meanOverDim
in 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:MatrixND
Effectue 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:
meanOverDim
in 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:MatrixND
Permet 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)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre
-
paste
public MatrixND paste(int[] origin, MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre- Specified by:
paste
in interfaceMatrixND
- 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)
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
- Parameters:
mat
- matrix to paste- Returns:
- new matrix
-
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 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 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 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)
-
getSubMatrixOnSemantic
public MatrixND getSubMatrixOnSemantic(int dim, Object... elem)
Add to desambiguas some call with xpath engine, but do the same thinggetSubMatrix(int, Object[])
- Parameters:
dim
-elem
-- Returns:
- new matrix
-
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 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(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 interfaceMatrixND
- 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 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(int[]... elems)
Description copied from interface:MatrixND
Permet de prendre une sous matrice dans la matrice courante. Réalise plusieurs appels aMatrixND.getSubMatrix(int, int[])
suivant l'implementation.- Specified by:
getSubMatrix
in 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)
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.
-
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.
-
transpose
public MatrixND transpose()
Description copied from interface:MatrixND
retourne le transpose de la matrice.
-
reduce
public MatrixND reduce()
Description copied from interface:MatrixND
Reduit 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:MatrixND
Reduit 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:
reduceDims
in interfaceMatrixND
- Parameters:
dims
- les dimensions sur lequel il faut faire la reduction- Returns:
- une nouvelle matrice
-
reduce
public MatrixND reduce(int minNbDim)
Description copied from interface:MatrixND
Reduit 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
protected MatrixND reduce(List<?> dimName, List<Object> sem, int[] correspondance)
Create new matrice from the current matrix.- Parameters:
dimName
- dimension name for new matrixsem
- semantic for new matrixcorrespondance
- array to do the link between current matrix and returned matrix- Returns:
- new matrix
-
mult
public MatrixND mult(MatrixND m) throws MatrixException
Description copied from interface:MatrixND
Multiplication normal (produit matriciel) de 2 matrices 2D.- Specified by:
mult
in interfaceMatrixND
- Parameters:
m
- matrix to mult- Returns:
- Retourne une nouvelle matrice.
- Throws:
MatrixException
-
mults
public MatrixND mults(double d)
Description copied from interface:MatrixND
Multiplication d'une matrice par un scalaire.
-
divs
public MatrixND divs(double d)
Description copied from interface:MatrixND
Multiplication d'une matrice par un scalaire.
-
adds
public MatrixND adds(double d)
Description copied from interface:MatrixND
Addition d'un scalaire à une matrice.
-
minuss
public MatrixND minuss(double d)
Description copied from interface:MatrixND
Soustraction d'un scalaire à une matrice
-
isSupportedCSV
@Deprecated public boolean isSupportedCSV()
Deprecated.since 2.2, always returntrue
, CSV import/export is always supportedDetermine si la matrice supporte l'import et l'export CSV- Specified by:
isSupportedCSV
in interfaceMatrixND
- Returns:
- support du CSV
-
importCSV
public void importCSV(Reader reader, int[] origin) throws IOException
Import depuis un reader au format CSV des données dans la matrice- Specified by:
importCSV
in interfaceMatrixND
- Parameters:
reader
- le reader à importerorigin
- le point à partir duquel il faut faire l'importation int[]{x,y}- Throws:
IOException
-
importCSV
public void importCSV(Reader reader, int[] origin, String matrixName) throws IOException
Import depuis un reader au format CSV des données dans la matrice.- Specified by:
importCSV
in 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
Import 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:
importCSV
in interfaceMatrixND
- Parameters:
file
- file to readorigin
- le point à partir duquel il faut faire l'importation- Throws:
IOException
-
importCSVND
protected void importCSVND(Reader reader, int[] origin) throws IOException
Import CSV file defined in Matrix ND format.- Parameters:
reader
- reader containing contentorigin
- not used- Throws:
IOException
-
exportCSV
public void exportCSV(Writer writer, boolean withSemantics) throws IOException
Export dans un writer au format CSV de la matrice- Specified by:
exportCSV
in interfaceMatrixND
- Parameters:
writer
- le writer ou copier la matricewithSemantics
- export ou pas des semantiques de la matrice dans le writer- Throws:
IOException
-
exportCSV2D
protected void exportCSV2D(Writer writer, boolean withSemantics) throws IOException
Export dans un writer au format CSV de la matrice- 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
Export dans un writer au format CSV de la matrice- Specified by:
exportCSVND
in interfaceMatrixND
- Parameters:
writer
- le writer ou copier la matricewithSemantics
- export ou pas des semantiques de la matrice dans le writer- Throws:
IOException
-
-