org.nuiton.math.matrix
Class AbstractMatrixND

java.lang.Object
  extended by 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: 386 $ Mise a jour: $Date: 2011-10-27 15:52:22 +0200 (jeu., 27 oct. 2011) $ par : $Author: echatellier $
Author:
Benjamin Poussin
See Also:
Serialized Form

Field Summary
static char CSV_SEPARATOR
          Separateur CSV par défaut le point virgule.
protected  double defaultValue
          Deprecated. as of 2.1 seams unused
protected  int[] dim
           
protected  DimensionHelper dimHelper
           
protected  String[] dimNames
           
protected  MatrixFactory factory
           
protected  String name
           
protected static Pattern NUMBER
           
protected  List<?>[] semantics
           
 
Constructor Summary
protected AbstractMatrixND(MatrixFactory factory)
           
  AbstractMatrixND(MatrixFactory factory, int[] dim)
           
  AbstractMatrixND(MatrixFactory factory, List<?>[] semantics)
           
  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)
           
 
Method Summary
 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-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 equals(MatrixND mat)
           
 boolean equals(Object o)
           
 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
protected  void exportCSV2D(Writer writer, boolean withSemantics)
          Export dans un writer au format CSV de la matrice
protected  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()
          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() instead
 List<?> 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 thing getSubMatrix(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 matrice
 void 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  List importCSVNDReadDimension(Reader reader)
          Read a line and convert line to semantic value.
protected  void init(int[] dim)
           
 boolean isSupportedCSV()
          Deprecated. since 2.2, always return true, CSV import/export is always supported
 boolean isValidCoordinates(int[] dim)
           
 boolean isValidCoordinates(Object[] semantics)
           
 MatrixND map(MapFunction f)
          Retourne la matrice elle meme.
 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)
          Modifie la matrice actuelle en lui soustrayant les valeurs de la matrice passé en parametre.
 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)
          Modifie la matrice actuel en metant les valeurs de mat passé en parametre
 MatrixND paste(MatrixND mat)
          Modifie la matrice actuel en metant les valeurs de mat passé en parametre
 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.
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.
 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.
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.nuiton.math.matrix.MatrixND
getValue, iterator, 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

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.

Specified by:
copy in interface MatrixND
Returns:
new matrix

clone

public MatrixND clone()
Description copied from interface: MatrixND
Créer une nouvelle instance clonée de celle-ci

Specified by:
clone in interface MatrixND
Overrides:
clone in class Object
Returns:
new matrix

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 interface MatrixND
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 interface MatrixND
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 interface MatrixND
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 interface MatrixND
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 interface MatrixND
Type Parameters:
E - data type
Parameters:
dim - dimension to modify semantic
sem - 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 interface MatrixND
Type Parameters:
E - data type
Parameters:
dim - dimension to modify semantic
sem - new semantic to set

setName

public void setName(String name)
Description copied from interface: MatrixND
Permet de donner un nom à la matrice.

Specified by:
setName in interface MatrixND
Parameters:
name - name to set

getName

public String getName()
Description copied from interface: MatrixND
Retourne le nom de la matrice.

Specified by:
getName in interface MatrixND
Returns:
le nom de la matrice ou la chaine vide si pas de nom.

getDimensionNames

public String[] getDimensionNames()
Description copied from interface: MatrixND
Permet de recuperer les noms des dimension.

Specified by:
getDimensionNames in interface MatrixND
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 interface MatrixND
Parameters:
names - names to set

getDimensionName

@Deprecated
public String[] getDimensionName()
Deprecated. Use #getDimensionNames()

Permet de recuperer les noms des dimension.

Specified by:
getDimensionName in interface MatrixND
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 interface MatrixND
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 interface MatrixND
Parameters:
dim - la dimension dont on veut changer le nom
name - 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 interface MatrixND
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 interface MatrixND
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 interface MatrixND
Returns:
la valeur la plus nombreuse dans le tableau

getNbDim

public int getNbDim()
Deprecated. use #getDimCount() instead

Retourne le nombre de dimensions de la matrice.

Specified by:
getNbDim in interface MatrixND
Returns:
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 interface MatrixND
Returns:
le nombre de dimensions de la matrice.

getDim

public int[] getDim()
Description copied from interface: MatrixND
Retourne les dimensions de la matrice.

Specified by:
getDim in interface MatrixND
Returns:
matrix dimension

getDim

public int getDim(int d)
Description copied from interface: MatrixND
Retourne la dimension de la matrice dans la dimension d.

Specified by:
getDim in interface MatrixND
Parameters:
d - dimension
Returns:
matrix dimension

map

public MatrixND map(MapFunction f)
Retourne la matrice elle meme. Les modifications sont faites directement dessus

Specified by:
map in interface MatrixND
Parameters:
f - function to apply
Returns:
this

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.

Specified by:
getValue in interface MatrixND
Parameters:
coordinates - semantics values to get matrix value
Returns:
double value at specified dimensions

getValue

public double getValue(Object x)
Description copied from interface: MatrixND
Return a 1D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension
Returns:
double value at specified dimensions

getValue

public double getValue(Object x,
                       Object y)
Description copied from interface: MatrixND
Return a 2D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension
y - second dimension
Returns:
double value at specified dimensions

getValue

public double getValue(Object x,
                       Object y,
                       Object z)
Description copied from interface: MatrixND
Return a 3D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension
y - second dimension
z - third dimension
Returns:
double value at specified dimensions

getValue

public double getValue(Object x,
                       Object y,
                       Object z,
                       Object t)
Description copied from interface: MatrixND
Return a 4D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension
y - second dimension
z - third dimension
t - fourth dimension
Returns:
double value at specified dimensions

getValue

public double getValue(int x)
Description copied from interface: MatrixND
Return a 1D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension index
Returns:
double value at specified dimensions

getValue

public double getValue(int x,
                       int y)
Description copied from interface: MatrixND
Return a 2D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension index
y - second dimension index
Returns:
double value at specified dimensions

getValue

public double getValue(int x,
                       int y,
                       int z)
Description copied from interface: MatrixND
Return a 3D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension index
y - second dimension index
z - third dimension index
Returns:
double value at specified dimensions

getValue

public double getValue(int x,
                       int y,
                       int z,
                       int t)
Description copied from interface: MatrixND
Return a 4D matrix value.

Specified by:
getValue in interface MatrixND
Parameters:
x - first dimension index
y - second dimension index
z - third dimension index
t - fourth dimension index
Returns:
double value at specified dimensions

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.

Specified by:
setValue in interface MatrixND
Parameters:
coordinates - semantics value to set matrix value
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(Object x,
                     double d)
Description copied from interface: MatrixND
Modify a 1D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension index
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(Object x,
                     Object y,
                     double d)
Description copied from interface: MatrixND
Modify a 2D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension
y - second dimension
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(Object x,
                     Object y,
                     Object z,
                     double d)
Description copied from interface: MatrixND
Modify a 3D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension
y - second dimension
z - third dimension
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(Object x,
                     Object y,
                     Object z,
                     Object t,
                     double d)
Description copied from interface: MatrixND
Modify a 4D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension
y - second dimension
z - third dimension
t - fourth dimension
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(int x,
                     double d)
Description copied from interface: MatrixND
Modify a 1D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension index
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(int x,
                     int y,
                     double d)
Description copied from interface: MatrixND
Modify a 2D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension index
y - second dimension index
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(int x,
                     int y,
                     int z,
                     double d)
Description copied from interface: MatrixND
Modify a 3D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension index
y - second dimension index
z - third dimension index
d - new double value to set into matrix at specified dimensions

setValue

public void setValue(int x,
                     int y,
                     int z,
                     int t,
                     double d)
Description copied from interface: MatrixND
Modify a 4D matrix value.

Specified by:
setValue in interface MatrixND
Parameters:
x - first dimension index
y - second dimension index
z - third dimension index
t - fourth dimension index
d - new double value to set into matrix at specified dimensions

equals

public boolean equals(Object o)
Overrides:
equals in class Object

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 interface MatrixND
Parameters:
mat -
Returns:
equality on values

toString

public String toString()
Overrides:
toString in class Object

toList

public List<?> toList()
Description copied from interface: MatrixND
Donne la matrice sous forme de List de list ... de double

Specified by:
toList in interface MatrixND
Returns:
list matrix representation

fromList

public void fromList(List<?> list)
Description copied from interface: MatrixND
Permet de charger une matrice a partir d'une representation List

Specified by:
fromList in interface MatrixND
Parameters:
list - la matrice sous forme de List de list ... de double

isValidCoordinates

public boolean isValidCoordinates(int[] dim)

isValidCoordinates

public boolean isValidCoordinates(Object[] semantics)

sumAll

public double sumAll()
Description copied from interface: MatrixND
Somme toutes les valeurs de la matrice.

Specified by:
sumAll in interface MatrixND
Returns:
sum result

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 interface MatrixND
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 interface MatrixND
Parameters:
dim - la dimension sur lequel il faut faire les sommes
step - 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 interface MatrixND

meanAll

public double meanAll()
Description copied from interface: MatrixND
Return all matrix data mean value

Specified by:
meanAll in interface MatrixND
Returns:
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 interface MatrixND
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 interface MatrixND
Parameters:
dim - la dimension sur lequel il faut faire les sommes
step - 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 matrice
 1 2 3 4
 2 3 4 5
 3 4 5 6
 4 5 6 7
 
un cut(1, [0,2]) donnera
 2 4
 3 5
 4 6
 5 7
 

Specified by:
cut in interface MatrixND
Parameters:
dim - la dimension dans lequel il faut supprimer des éléments
toCut - les éléments à supprimer
Returns:
une nouvelle matrice, la matrice actuelle n'est pas modifiée

paste

public MatrixND paste(MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre

Specified by:
paste in interface MatrixND
Parameters:
mat - la matrice à copier
Returns:
return la matrice courante.

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 interface MatrixND
Parameters:
origin - le point d'origine a partir duquel on colle la matrice
mat - 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 interface MatrixND
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 interface MatrixND
Parameters:
dim - la dimension dans lequel on veut une sous matrice
start - 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 -1
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:
new matrix

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 interface MatrixND
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 dim
start - 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:
new matrix

getSubMatrixOnSemantic

public MatrixND getSubMatrixOnSemantic(int dim,
                                       Object... elem)
Add to desambiguas some call with xpath engine, but do the same thing getSubMatrix(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 interface MatrixND
Parameters:
dim - la dimension dans lequel on veut une sous matrice
elem - les éléments dans la dimension à conserver
Returns:
new matrix

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 interface MatrixND
Parameters:
elems - les éléments dans la dimension à conserver
Returns:
new matrix

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 interface MatrixND
Parameters:
dim - la dimension dans lequel on veut une sous matrice
elem - les indices des éléments dans la dimension à conserver
Returns:
new matrix

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 a MatrixND.getSubMatrix(int, int[]) suivant l'implementation.

Specified by:
getSubMatrix in interface MatrixND
Parameters:
elems - les indices des éléments pour chaque dimension à conserver
Returns:
new matrix

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.

Specified by:
add in interface MatrixND
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 interface MatrixND
Parameters:
m - matrix to minus
Returns:
new matrix

transpose

public MatrixND transpose()
Description copied from interface: MatrixND
retourne le transpose de la matrice.

Specified by:
transpose in interface MatrixND
Returns:
transposed matrix

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.

Specified by:
reduce in interface MatrixND
Returns:
une nouvelle matrice plus petite que la matrice actuelle ou egal s'il n'y a aucune dimension à supprimer

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 interface MatrixND
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.

Specified by:
reduce in interface MatrixND
Parameters:
minNbDim - le nombre minimum de dimension que l'on souhaite pour la matrice résultat
Returns:
une nouvelle matrice plus petite que la matrice actuelle ou egal s'il n'y a aucune dimension à supprimer

reduce

protected MatrixND reduce(List<?> dimName,
                          List<Object> sem,
                          int[] correspondance)
Create new matrice from the current matrix.

Parameters:
dimName - dimension name for new matrix
sem - semantic for new matrix
correspondance - 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 interface MatrixND
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.

Specified by:
mults in interface MatrixND
Parameters:
d - scalaire
Returns:
new matrix

divs

public MatrixND divs(double d)
Description copied from interface: MatrixND
Multiplication d'une matrice par un scalaire.

Specified by:
divs in interface MatrixND
Parameters:
d - scalaire
Returns:
new matrix

adds

public MatrixND adds(double d)
Description copied from interface: MatrixND
Addition d'un scalaire à une matrice.

Specified by:
adds in interface MatrixND
Parameters:
d - scalaire
Returns:
new matrix

minuss

public MatrixND minuss(double d)
Description copied from interface: MatrixND
Soustraction d'un scalaire à une matrice

Specified by:
minuss in interface MatrixND
Parameters:
d - scalaire
Returns:
new matrix

isSupportedCSV

@Deprecated
public boolean isSupportedCSV()
Deprecated. since 2.2, always return true, CSV import/export is always supported

Determine si la matrice supporte l'import et l'export CSV

Specified by:
isSupportedCSV in interface MatrixND
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 interface MatrixND
Parameters:
reader - le reader à importer
origin - 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 interface MatrixND
Parameters:
reader - le reader à importer
origin - le point à partir duquel il faut faire l'importation
matrixName - 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 interface MatrixND
Parameters:
file - file to read
origin - 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 content
origin - not used
Throws:
IOException

importCSVNDReadDimension

protected List importCSVNDReadDimension(Reader reader)
                                 throws IOException
Read a line and convert line to semantic value. Use: - mapper to convert semantics values - return null if line is empty

Parameters:
reader - reader to read
Returns:
semantics for readed line
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 interface MatrixND
Parameters:
writer - le writer ou copier la matrice
withSemantics - 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 matrice
withSemantics - export ou pas des semantiques de la matrice dans le writer
Throws:
IOException

exportCSVND

protected void exportCSVND(Writer writer,
                           boolean withSemantics)
                    throws IOException
Export dans un writer au format CSV de la matrice

Parameters:
writer - le writer ou copier la matrice
withSemantics - export ou pas des semantiques de la matrice dans le writer
Throws:
IOException


Copyright © 2004-2011 CodeLutin. All Rights Reserved.