|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.nuiton.math.matrix.AbstractMatrixND
public abstract class AbstractMatrixND
AbstractMatrixND. Created: 29 oct. 2004
| Field Summary | |
|---|---|
static char |
CSV_SEPARATOR
Separateur CSV par défaut le point virgule. |
protected double |
defaultValue
|
protected int[] |
dim
|
protected DimensionHelper |
dimHelper
|
protected java.lang.String[] |
dimNames
|
protected MatrixFactory |
factory
|
protected java.lang.String |
name
|
protected static java.util.regex.Pattern |
NUMBER
|
protected java.util.List<?>[] |
semantics
|
| Constructor Summary | |
|---|---|
protected |
AbstractMatrixND(MatrixFactory factory)
|
|
AbstractMatrixND(MatrixFactory factory,
int[] dim)
|
|
AbstractMatrixND(MatrixFactory factory,
java.util.List<?>[] semantics)
|
|
AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
int[] dim)
|
|
AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
int[] dim,
java.lang.String[] dimNames)
|
|
AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
java.util.List<?>[] semantics)
|
|
AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
java.util.List<?>[] semantics,
java.lang.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(java.lang.Object o)
|
|
boolean |
equalsValues(MatrixND mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiques |
|
void |
exportCSV(java.io.Writer writer,
boolean withSemantics)
Export dans un writer au format CSV de la matrice |
|
void |
fromList(java.util.List<java.lang.Object> 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. |
|
java.lang.String[] |
getDimensionName()
Deprecated. Use #getDimensionNames() |
|
java.lang.String |
getDimensionName(int dim)
Retourne le nom de la dimension demandé. |
|
java.lang.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()
Retourne la valeur la plus courrement rencontrer dans un tableau. si plusieurs valeurs ont le même nombre d'occurence la plus petite valeur est retourné. |
|
java.lang.String |
getName()
Retourne le nom de la matrice |
|
int |
getNbDim()
Deprecated. use #getDimCount() instead |
|
java.util.List<?> |
getSemantic(int dim)
Retourne la semantique pour une dimension |
|
java.util.List<?>[] |
getSemantics()
Donne toutes les semantiques de la matrice. |
|
java.util.List<?> |
getSemantics(int dim)
Deprecated. Use #getSemantics(dim) |
|
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,
java.lang.Object... elem)
Permet de prendre une sous matrice dans la matrice courante. |
|
MatrixND |
getSubMatrix(int dim,
java.lang.Object start,
int nb)
Permet de prendre une sous matrice dans la matrice courante. |
|
MatrixND |
getSubMatrixOnSemantic(int dim,
java.lang.Object... elem)
Add to desambiguas some call with xpath engine, but do the same thing getSubMatrix(int, Object[]) |
|
double |
getValue(int x)
|
|
abstract double |
getValue(int[] coordinates)
Renvoie un element de la matrice demandée en fonction des dimensions passé en paramètre. |
|
double |
getValue(int x,
int y)
|
|
double |
getValue(int x,
int y,
int z)
|
|
double |
getValue(int x,
int y,
int z,
int t)
|
|
double |
getValue(java.lang.Object x)
|
|
double |
getValue(java.lang.Object[] coordinates)
|
|
double |
getValue(java.lang.Object x,
java.lang.Object y)
|
|
double |
getValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z)
|
|
double |
getValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z,
java.lang.Object t)
|
|
void |
importCSV(java.io.Reader reader,
int[] origin)
Import depuis un reader au format CSV des données dans la matrice |
|
protected void |
init(int[] dim)
|
|
boolean |
isSupportedCSV()
Determine si la matrice supporte l'import et l'export CSV |
|
boolean |
isValidCoordinates(int[] dim)
|
|
boolean |
isValidCoordinates(java.lang.Object[] semantics)
|
|
abstract MatrixIterator |
iterator()
Retourne un iterator sur toute la matrice. |
|
MatrixND |
map(MapFunction f)
Retourne la matrice elle meme. |
|
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(java.util.List<java.lang.Object> dimName,
java.util.List<java.lang.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,
java.lang.String name)
Permet de mettre un nom à une dimension. |
|
void |
setDimensionName(java.lang.String[] names)
Deprecated. Use #setDimensionName(String[]) |
|
void |
setDimensionNames(java.lang.String[] names)
Permet de mettre des noms aux différentes dimension. |
|
void |
setName(java.lang.String name)
Permet de donner un nom à la matrice. |
|
|
setSemantic(int dim,
java.util.List<E> sem)
Modifie la semantique d'une dimension |
|
|
setSemantics(int dim,
java.util.List<E> sem)
Deprecated. Use #setSemantic(dim, List |
|
abstract void |
setValue(int[] coordinates,
double d)
Modifie un element de la matrice en fonction des dimensions passé en paramètre. |
|
void |
setValue(int x,
double d)
|
|
void |
setValue(int x,
int y,
double d)
|
|
void |
setValue(int x,
int y,
int z,
double d)
|
|
void |
setValue(int x,
int y,
int z,
int t,
double d)
|
|
void |
setValue(java.lang.Object[] coordinates,
double d)
|
|
void |
setValue(java.lang.Object x,
double d)
|
|
void |
setValue(java.lang.Object x,
java.lang.Object y,
double d)
|
|
void |
setValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z,
double d)
|
|
void |
setValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z,
java.lang.Object t,
double d)
|
|
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)
|
|
java.util.List<java.lang.Object> |
toList()
Donne la matrice sous forme de List de list ... de double |
|
java.lang.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 |
| Field Detail |
|---|
protected transient DimensionHelper dimHelper
protected transient MatrixFactory factory
protected java.lang.String name
protected java.lang.String[] dimNames
protected int[] dim
protected java.util.List<?>[] semantics
protected double defaultValue
public static final char CSV_SEPARATOR
protected static final java.util.regex.Pattern NUMBER
| Constructor Detail |
|---|
protected AbstractMatrixND(MatrixFactory factory)
public AbstractMatrixND(MatrixFactory factory,
int[] dim)
public AbstractMatrixND(MatrixFactory factory,
java.util.List<?>[] semantics)
public AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
int[] dim)
public AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
int[] dim,
java.lang.String[] dimNames)
public AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
java.util.List<?>[] semantics)
public AbstractMatrixND(MatrixFactory factory,
java.lang.String name,
java.util.List<?>[] semantics,
java.lang.String[] dimNames)
| Method Detail |
|---|
public abstract MatrixIterator iterator()
MatrixND
iterator in interface MatrixNDpublic abstract double getValue(int[] coordinates)
MatrixND
getValue in interface MatrixNDcoordinates - les différentes dimension à extraire. Le tableau doit
contenir toutes les dimensions de la matrice, et seulement des
nombres positif
public abstract void setValue(int[] coordinates,
double d)
MatrixND
setValue in interface MatrixNDcoordinates - les différentes dimension à extraire.d - l'entier double qui doit remplacer l'entier double spécifié par
l'argument dimensionsprotected void init(int[] dim)
public MatrixND copy()
MatrixND
copy in interface MatrixNDpublic MatrixND clone()
MatrixND
clone in interface MatrixNDclone in class java.lang.Objectpublic MatrixFactory getFactory()
getFactory in interface MatrixNDMatrixFactoryMatrixFactorypublic java.util.List<?>[] getSemantics()
MatrixND
getSemantics in interface MatrixNDpublic java.util.List<?> getSemantics(int dim)
getSemantics in interface MatrixNDdim - la dimension pour lequel on veut la semantique
public java.util.List<?> getSemantic(int dim)
MatrixND
getSemantic in interface MatrixNDdim - la dimension pour lequel on veut la semantique
public <E> void setSemantics(int dim,
java.util.List<E> sem)
setSemantics in interface MatrixNDdim - dimension to modify semanticsem - new semantic to set
public <E> void setSemantic(int dim,
java.util.List<E> sem)
MatrixND
setSemantic in interface MatrixNDdim - dimension to modify semanticsem - new semantic to setpublic void setName(java.lang.String name)
MatrixND
setName in interface MatrixNDname - name to setpublic java.lang.String getName()
MatrixND
getName in interface MatrixNDpublic java.lang.String[] getDimensionNames()
MatrixND
getDimensionNames in interface MatrixNDpublic void setDimensionNames(java.lang.String[] names)
MatrixND
setDimensionNames in interface MatrixNDnames - names to setpublic java.lang.String[] getDimensionName()
getDimensionName in interface MatrixNDpublic void setDimensionName(java.lang.String[] names)
setDimensionName in interface MatrixNDnames - names to set
public void setDimensionName(int dim,
java.lang.String name)
MatrixND
setDimensionName in interface MatrixNDdim - la dimension dont on veut changer le nomname - le nom à donner à la dimensionpublic java.lang.String getDimensionName(int dim)
MatrixND
getDimensionName in interface MatrixNDdim - la dimension dont on veut le nom
public double getMaxOccurence()
MatrixND
getMaxOccurence in interface MatrixNDpublic int getNbDim()
getNbDim in interface MatrixNDpublic int getDimCount()
MatrixND
getDimCount in interface MatrixNDpublic int[] getDim()
MatrixND
getDim in interface MatrixNDpublic int getDim(int d)
MatrixND
getDim in interface MatrixNDd - dimension
public MatrixND map(MapFunction f)
map in interface MatrixNDf - function to apply
public double getValue(java.lang.Object[] coordinates)
getValue in interface MatrixNDpublic double getValue(java.lang.Object x)
getValue in interface MatrixND
public double getValue(java.lang.Object x,
java.lang.Object y)
getValue in interface MatrixND
public double getValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z)
getValue in interface MatrixND
public double getValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z,
java.lang.Object t)
getValue in interface MatrixNDpublic double getValue(int x)
getValue in interface MatrixND
public double getValue(int x,
int y)
getValue in interface MatrixND
public double getValue(int x,
int y,
int z)
getValue in interface MatrixND
public double getValue(int x,
int y,
int z,
int t)
getValue in interface MatrixND
public void setValue(java.lang.Object[] coordinates,
double d)
setValue in interface MatrixND
public void setValue(java.lang.Object x,
double d)
setValue in interface MatrixND
public void setValue(java.lang.Object x,
java.lang.Object y,
double d)
setValue in interface MatrixND
public void setValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z,
double d)
setValue in interface MatrixND
public void setValue(java.lang.Object x,
java.lang.Object y,
java.lang.Object z,
java.lang.Object t,
double d)
setValue in interface MatrixND
public void setValue(int x,
double d)
setValue in interface MatrixND
public void setValue(int x,
int y,
double d)
setValue in interface MatrixND
public void setValue(int x,
int y,
int z,
double d)
setValue in interface MatrixND
public void setValue(int x,
int y,
int z,
int t,
double d)
setValue in interface MatrixNDpublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic boolean equals(MatrixND mat)
public boolean equalsValues(MatrixND mat)
equalsValues in interface MatrixNDmat -
public java.lang.String toString()
toString in class java.lang.Objectpublic java.util.List<java.lang.Object> toList()
MatrixND
toList in interface MatrixNDpublic void fromList(java.util.List<java.lang.Object> list)
MatrixND
fromList in interface MatrixNDlist - la matrice sous forme de List de list ... de doublepublic boolean isValidCoordinates(int[] dim)
public boolean isValidCoordinates(java.lang.Object[] semantics)
public double sumAll()
MatrixND
sumAll in interface MatrixNDpublic MatrixND sumOverDim(int dim)
MatrixNDpar 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 MatrixNDdim - la dimension sur lequel il faut faire la somme
public MatrixND sumOverDim(int dim,
int step)
MatrixNDpour 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 MatrixNDdim - 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 MatrixND cut(int dim,
int[] toCut)
MatrixND1 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
cut in interface MatrixNDdim - la dimension dans lequel il faut supprimer des élémentstoCut - les éléments à supprimer
public MatrixND paste(MatrixND mat)
paste in interface MatrixNDmat - la matrice à copier
public MatrixND paste(int[] origin,
MatrixND mat)
paste in interface MatrixNDorigin - 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
public MatrixND pasteSemantics(MatrixND mat)
pasteSemantics in interface MatrixNDmat - matrix to paste
public MatrixND getSubMatrix(int dim,
int start,
int nb)
MatrixND
getSubMatrix in interface MatrixNDdim - 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,
java.lang.Object start,
int nb)
MatrixND
getSubMatrix in interface MatrixNDdim - 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 getSubMatrixOnSemantic(int dim,
java.lang.Object... elem)
getSubMatrix(int, Object[])
dim - elem -
public MatrixND getSubMatrix(int dim,
java.lang.Object... elem)
MatrixND
getSubMatrix in interface MatrixNDdim - la dimension dans lequel on veut une sous matriceelem - les éléments dans la dimension à conserver
public MatrixND getSubMatrix(int dim,
int[] elem)
MatrixND
getSubMatrix in interface MatrixNDdim - la dimension dans lequel on veut une sous matriceelem - les éléments dans la dimension à conserver
public MatrixND add(MatrixND m)
add in interface MatrixNDm - matrix to add
public MatrixND minus(MatrixND m)
minus in interface MatrixNDm - matrix to minus
public MatrixND transpose()
MatrixND
transpose in interface MatrixNDpublic MatrixND reduce()
MatrixND
reduce in interface MatrixNDpublic MatrixND reduceDims(int... dims)
MatrixND
reduceDims in interface MatrixNDdims - les dimensions sur lequel il faut faire la reduction
public MatrixND reduce(int minNbDim)
MatrixND
reduce in interface MatrixNDminNbDim - le nombre minimum de dimension que l'on souhaite pour la
matrice résultat
protected MatrixND reduce(java.util.List<java.lang.Object> dimName,
java.util.List<java.lang.Object> sem,
int[] correspondance)
dimName - dimension name for new matrixsem - semantic for new matrixcorrespondance - array to do the link between current matrix and
returned matrix
public MatrixND mult(MatrixND m)
throws MatrixException
MatrixND
mult in interface MatrixNDm - matrix to mult
MatrixExceptionpublic MatrixND mults(double d)
MatrixND
mults in interface MatrixNDd - scalaire
public MatrixND divs(double d)
MatrixND
divs in interface MatrixNDd - scalaire
public MatrixND adds(double d)
MatrixND
adds in interface MatrixNDd - scalaire
public MatrixND minuss(double d)
MatrixND
minuss in interface MatrixNDd - scalaire
public boolean isSupportedCSV()
isSupportedCSV in interface MatrixND
public void importCSV(java.io.Reader reader,
int[] origin)
throws java.io.IOException
importCSV in interface MatrixNDreader - le reader à importerorigin - le point à partir duquel il faut faire l'importation
int[]{x,y}
java.io.IOException
public void exportCSV(java.io.Writer writer,
boolean withSemantics)
throws java.io.IOException
exportCSV in interface MatrixNDwriter - le writer ou copier la matricewithSemantics - export ou pas des semantiques de la matrice dans le
writer
java.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||