Package org.nuiton.math.matrix
Interface MatrixND
-
- All Superinterfaces:
Cloneable
,Serializable
- All Known Implementing Classes:
AbstractMatrixND
,MatrixNDImpl
,MatrixProxy
,MatrixSemanticsDecorator
,SubMatrix
public interface MatrixND extends Serializable, Cloneable
MatrixND interface for different matrix implementation. Created: 29 oct. 2004- Version:
- $Revision$ Mise a jour: $Date$ par : $Author$
- Author:
- Benjamin Poussin <poussin@codelutin.com>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description MatrixND
add(MatrixND m)
Addition la matrice courante avec la matrice passe en parametre et se retourne elle meme.MatrixND
adds(double d)
Addition d'un scalaire à une matrice.MatrixND
clone()
Créer une nouvelle instance clonée de celle-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
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 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.since 1.0.3, usegetDimensionNames()
insteadString
getDimensionName(int dim)
Retourne le nom de la dimension demandée.String[]
getDimensionNames()
Permet de recuperer les noms des dimension.MatrixFactory
getFactory()
Retourne la factory qui a permit de creer la matrice.double
getMaxOccurence()
Deprecated.since 2.1, usegetMaxOccurrence()
insteaddouble
getMaxOccurrence()
Retourne la valeur la plus courrement rencontrer dans un tableau.String
getName()
Retourne le nom de la matrice.int
getNbDim()
Deprecated.since 1.0.3, usegetDimCount()
insteadlong
getNumberOfAssignedValue()
Returne number of assigned value, assigned value is value stored in memoryList
getSemantic(int dim)
Retourne la semantique pour une dimension.List[]
getSemantics()
Donne toutes les semantiques de la matrice.List
getSemantics(int dim)
Deprecated.(since 1.0.3) use #getSemantic(int) insteadMatrixND
getSubMatrix(int[]... elems)
Permet de prendre une sous matrice dans la matrice courante.MatrixND
getSubMatrix(int dim, int[] elem)
Permet de prendre une sous matrice dans la matrice courante.MatrixND
getSubMatrix(int dim, int start, int nb)
Permet de prendre une sous matrice dans la matrice courante.MatrixND
getSubMatrix(int dim, Object... elem)
Permet de prendre une sous matrice dans la matrice courante.MatrixND
getSubMatrix(int dim, Object start, int nb)
Permet de prendre une sous matrice dans la matrice courante.MatrixND
getSubMatrix(Object[]... elem)
Permet de prendre une sous matrice dans la matrice courante.double
getValue(int x)
Return a 1D matrix value.double
getValue(int[] dimensions)
Renvoie un element de la matrice demandée en fonction des dimensions passé en paramètre.
Exemple: Si on a un matrice 3D.
getValue(1,1,1) retourne un element de la matrice.double
getValue(int x, int y)
Return a 2D matrix value.double
getValue(int x, int y, int z)
Return a 3D matrix value.double
getValue(int x, int y, int z, int t)
Return a 4D matrix value.double
getValue(Object x)
Return a 1D matrix value.double
getValue(Object[] coordinates)
Renvoie un element de la matrice demandée en fonction des dimensions passé en paramètre.double
getValue(Object x, Object y)
Return a 2D matrix value.double
getValue(Object x, Object y, Object z)
Return a 3D matrix value.double
getValue(Object x, Object y, Object z, Object t)
Return a 4D matrix value.void
importCSV(File file, int[] origin)
Import depuis un reader au format CSV des données dans la matrice.void
importCSV(Reader reader, int[] origin)
Import depuis un reader au format CSV des données dans la matrice.void
importCSV(Reader reader, int[] origin, String matrixName)
Import depuis un reader au format CSV des données dans la matrice.boolean
isSupportedCSV()
Deprecated.since 2.2, always returntrue
, CSV import/export is always supportedMatrixIterator
iterator()
Retourne un iterator sur toute la matrice.MatrixIterator
iteratorNotZero()
Retourne un iterator pour toutes les valeurs de la matrices differente de 0MatrixND
map(MapFunction f)
Applique une fonction sur chaque valeur de la matrice.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)
Soustrai la matrice courante avec la matrice passe en parametre et ce retourne elle meme.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)
Copie une matrice dans la matrice actuelle.MatrixND
paste(MatrixND mat)
Copie une matrice dans la matrice actuelle.MatrixND
pasteSemantics(MatrixND mat)
Modifie la matrice actuel en metant les valeurs de mat passé en parametre La copie se fait en fonction de la semantique, si un element dans une dimension n'est pas trouvé, alors il est passéMatrixND
reduce()
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée.MatrixND
reduce(int minNbDim)
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée.MatrixND
reduceDims(int... dims)
Reduit le matrice seulement sur les dimensions passées en argument.void
setDimensionName(int dim, String name)
Permet de mettre un nom à une dimension.void
setDimensionName(String[] names)
Deprecated.since 1.0.3, usesetDimensionNames(String[])
insteadvoid
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.(since 1.0.3) use #setSemantic(int, List) insteadvoid
setValue(int[] dimensions, double d)
Modifie un element de la matrice en fonction des dimensions passé en paramètre.
Exemple: Si on a un matrice 3D.
set([1,1,1], m) modifie un element de la matrice.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 doubleMatrixND
transpose()
retourne le transpose de la matrice.
-
-
-
Method Detail
-
getFactory
MatrixFactory getFactory()
Retourne la factory qui a permit de creer la matrice.- Returns:
- la
MatrixFactory
- See Also:
MatrixFactory
-
getNumberOfAssignedValue
long getNumberOfAssignedValue()
Returne number of assigned value, assigned value is value stored in memory- Since:
- 2.4.2
-
getSemantics
List[] getSemantics()
Donne toutes les semantiques de la matrice. Si la matrice n'a pas de semantique retourne null.- Returns:
- la liste des semantics
-
getSemantics
@Deprecated List getSemantics(int dim)
Deprecated.(since 1.0.3) use #getSemantic(int) insteadRetourne la semantique pour une dimension.- 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
List getSemantic(int dim)
Retourne la semantique pour une dimension.- 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 <E> void setSemantics(int dim, List<E> sem)
Deprecated.(since 1.0.3) use #setSemantic(int, List) insteadModifie la semantique d'une dimension.- Type Parameters:
E
- data type- Parameters:
dim
- dimension to modify semanticsem
- new semantic to set
-
setSemantic
<E> void setSemantic(int dim, List<E> sem)
Modifie la semantique d'une dimension.- Type Parameters:
E
- data type- Parameters:
dim
- dimension to modify semanticsem
- new semantic to set- Since:
- 1.0.3
-
setName
void setName(String name)
Permet de donner un nom à la matrice.- Parameters:
name
- name to set
-
getName
String getName()
Retourne le nom de la matrice.- Returns:
- le nom de la matrice ou la chaine vide si pas de nom.
-
setDimensionName
@Deprecated void setDimensionName(String[] names)
Deprecated.since 1.0.3, usesetDimensionNames(String[])
insteadPermet de mettre des noms aux différentes dimension.- Parameters:
names
- names to set
-
setDimensionNames
void setDimensionNames(String[] names)
Permet de mettre des noms aux différentes dimension.- Parameters:
names
- names to set- Since:
- 1.0.3
-
getDimensionName
@Deprecated String[] getDimensionName()
Deprecated.since 1.0.3, usegetDimensionNames()
insteadPermet de recuperer les noms des dimension.- Returns:
- tableau des noms de dimension.
-
getDimensionNames
String[] getDimensionNames()
Permet de recuperer les noms des dimension.- Returns:
- tableau des noms de dimension.
- Since:
- 1.0.3
-
setDimensionName
void setDimensionName(int dim, String name)
Permet de mettre un nom à une dimension.- Parameters:
dim
- la dimension dont on veut changer le nomname
- le nom à donner à la dimension
-
getDimensionName
String getDimensionName(int dim)
Retourne le nom de la dimension demandée.- 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 double getMaxOccurence()
Deprecated.since 2.1, usegetMaxOccurrence()
insteadRetourne 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é.- Returns:
- la valeur la plus nombreuse dans le tableau
-
getMaxOccurrence
double getMaxOccurrence()
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é.- Returns:
- la valeur la plus nombreuse dans le tableau
- Since:
- 2.1
-
getNbDim
int getNbDim()
Deprecated.since 1.0.3, usegetDimCount()
insteadRetourne le nombre de dimensions de la matrice.- Returns:
- le nombre de dimensions de la matrice.
-
getDimCount
int getDimCount()
Retourne le nombre de dimensions de la matrice.- Returns:
- le nombre de dimensions de la matrice.
- Since:
- 1.0.3
-
getDim
int[] getDim()
Retourne les dimensions de la matrice.- Returns:
- matrix dimension
-
getDim
int getDim(int d)
Retourne la dimension de la matrice dans la dimension d.- Parameters:
d
- dimension- Returns:
- matrix dimension
-
size
long size()
Retourne le nombre d'element dans la matrice [2, 3, 5] donnera 30- Returns:
- le nombre d'element dans la matrice
-
iterator
MatrixIterator iterator()
Retourne un iterator sur toute la matrice.- Returns:
- matrix iterator
-
iteratorNotZero
MatrixIterator iteratorNotZero()
Retourne un iterator pour toutes les valeurs de la matrices differente de 0- Returns:
- matrix iterator
-
map
MatrixND map(MapFunction f)
Applique une fonction sur chaque valeur de la matrice.- Parameters:
f
- function to apply- Returns:
this
-
getValue
double getValue(int[] dimensions)
Renvoie un element de la matrice demandée en fonction des dimensions passé en paramètre.
Exemple: Si on a un matrice 3D.
getValue(1,1,1) retourne un element de la matrice.- Parameters:
dimensions
- les différentes dimension à extraire. Le tableau doit contenir toutes les dimensions de la matrice, et seulement des nombres positif- Returns:
- un entier double.
-
getValue
double getValue(int x)
Return a 1D matrix value.- Parameters:
x
- first dimension index- Returns:
- double value at specified dimensions
-
getValue
double getValue(int x, int y)
Return a 2D matrix value.- Parameters:
x
- first dimension indexy
- second dimension index- Returns:
- double value at specified dimensions
-
getValue
double getValue(int x, int y, int z)
Return a 3D matrix value.- Parameters:
x
- first dimension indexy
- second dimension indexz
- third dimension index- Returns:
- double value at specified dimensions
-
getValue
double getValue(int x, int y, int z, int t)
Return a 4D matrix value.- Parameters:
x
- first dimension indexy
- second dimension indexz
- third dimension indext
- fourth dimension index- Returns:
- double value at specified dimensions
-
getValue
double getValue(Object[] coordinates)
Renvoie un element de la matrice demandée en fonction des dimensions passé en paramètre.- Parameters:
coordinates
- semantics values to get matrix value- Returns:
- double value at specified dimensions
-
getValue
double getValue(Object x)
Return a 1D matrix value.- Parameters:
x
- first dimension- Returns:
- double value at specified dimensions
-
getValue
double getValue(Object x, Object y)
Return a 2D matrix value.- Parameters:
x
- first dimensiony
- second dimension- Returns:
- double value at specified dimensions
-
getValue
double getValue(Object x, Object y, Object z)
Return a 3D matrix value.- Parameters:
x
- first dimensiony
- second dimensionz
- third dimension- Returns:
- double value at specified dimensions
-
getValue
double getValue(Object x, Object y, Object z, Object t)
Return a 4D matrix value.- Parameters:
x
- first dimensiony
- second dimensionz
- third dimensiont
- fourth dimension- Returns:
- double value at specified dimensions
-
setValue
void setValue(int[] dimensions, double d)
Modifie un element de la matrice en fonction des dimensions passé en paramètre.
Exemple: Si on a un matrice 3D.
set([1,1,1], m) modifie un element de la matrice.- Parameters:
dimensions
- dimension indicesd
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(int x, double d)
Modify a 1D matrix value.- Parameters:
x
- first dimension indexd
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(int x, int y, double d)
Modify a 2D matrix value.- Parameters:
x
- first dimension indexy
- second dimension indexd
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(int x, int y, int z, double d)
Modify a 3D matrix value.- Parameters:
x
- first dimension indexy
- second dimension indexz
- third dimension indexd
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(int x, int y, int z, int t, double d)
Modify a 4D matrix value.- Parameters:
x
- first dimension indexy
- second dimension indexz
- third dimension indext
- fourth dimension indexd
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(Object[] coordinates, double d)
Modifie un element de la matrice en fonction des dimensions passé en paramètre.- Parameters:
coordinates
- semantics value to set matrix valued
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(Object x, double d)
Modify a 1D matrix value.- Parameters:
x
- first dimension indexd
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(Object x, Object y, double d)
Modify a 2D matrix value.- Parameters:
x
- first dimensiony
- second dimensiond
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(Object x, Object y, Object z, double d)
Modify a 3D matrix value.- Parameters:
x
- first dimensiony
- second dimensionz
- third dimensiond
- new double value to set into matrix at specified dimensions
-
setValue
void setValue(Object x, Object y, Object z, Object t, double d)
Modify a 4D matrix value.- Parameters:
x
- first dimensiony
- second dimensionz
- third dimensiont
- fourth dimensiond
- new double value to set into matrix at specified dimensions
-
copy
MatrixND copy()
Copy la matrice pour pouvoir la modifier sans perdre les donnees initiales.- Returns:
- new matrix
-
clone
MatrixND clone()
Créer une nouvelle instance clonée de celle-ci- Returns:
- new matrix
-
sumAll
double sumAll()
Somme toutes les valeurs de la matrice.- Returns:
- sum result
-
sumOverDim
MatrixND sumOverDim(int dim)
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
- Parameters:
dim
- la dimension sur lequel il faut faire la somme- Returns:
- new matrix
-
sumOverDim
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.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.- 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
MatrixND sumOverDim(int dim, int start, int nb)
-
meanAll
double meanAll()
Return all matrix data mean value- Returns:
- mean value
-
meanOverDim
MatrixND meanOverDim(int dim)
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
- Parameters:
dim
- la dimension sur lequel il faut faire la moyenne- Returns:
- new matrix
-
meanOverDim
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.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.- 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
MatrixND cut(int dim, int[] toCut)
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
- Parameters:
dim
- la dimension dans lequel il faut supprimer des élémentstoCut
- les éléments à supprimer- Returns:
- une nouvelle matrice, la matrice actuelle n'est pas modifiée
-
paste
MatrixND paste(MatrixND mat)
Copie une matrice dans la matrice actuelle. La matrice à copier à le même nombre de dimension. Si la matrice à copier est trop grande seul les éléments pouvant être copier le seront.- Parameters:
mat
- la matrice à copier- Returns:
- return la matrice courante.
-
paste
MatrixND paste(int[] origin, MatrixND mat)
Copie une matrice dans la matrice actuelle. La matrice à copier à le même nombre de dimension. Si la matrice à copier est trop grande seul les éléments pouvant être copier le seront.- Parameters:
origin
- le point à partir duquel il faut faire la copiemat
- la matrice à copier- Returns:
- return la matrice courante.
-
pasteSemantics
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é- Parameters:
mat
- matrix to paste- Returns:
- new matrix
-
getSubMatrix
MatrixND getSubMatrix(int dim, Object start, int nb)
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.- Parameters:
dim
- la dimension dans lequel on veut une sous matrice si dim est négatif alors la dimension est prise à partir de la fin par exemple si l'on veut la derniere dimension il faut passer -1 pour dimstart
- la position dans dim d'ou il faut partir pour prendre la sous matrice.nb
- le nombre d'élément à prendre dans la dimension. si nb est inférieur ou égal à 0 alors cela indique qu'il faut prendre tous les éléments jusqu'à la fin de la dimension.- Returns:
- un objet SubMatrix qui est une vu de la matrice initiale (toute modification de la sous-matrice, modifie la matrice initiale)
-
getSubMatrix
MatrixND getSubMatrix(int dim, int start, int nb)
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.- 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
MatrixND getSubMatrix(int dim, Object... elem)
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.- 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
MatrixND getSubMatrix(int dim, int[] elem)
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.- 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
MatrixND getSubMatrix(Object[]... elem)
Permet de prendre une sous matrice dans la matrice courante. Réalise plusieurs appels àgetSubMatrix(int, Object...)
suivant l'implémentation.- Parameters:
elem
- les éléments dans la dimension à conserver- Returns:
- un objet SubMatrix qui est une vu de la matrice initiale (toute modification de la sous-matrice, modifie la matrice initiale)
-
getSubMatrix
MatrixND getSubMatrix(int[]... elems)
Permet de prendre une sous matrice dans la matrice courante. Réalise plusieurs appels agetSubMatrix(int, int[])
suivant l'implementation.- 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
MatrixND add(MatrixND m)
Addition la matrice courante avec la matrice passe en parametre et se retourne elle meme.- Parameters:
m
- matrix to add- Returns:
- new matrix
-
minus
MatrixND minus(MatrixND m)
Soustrai la matrice courante avec la matrice passe en parametre et ce retourne elle meme.- Parameters:
m
- matrix to minus- Returns:
- new matrix
-
transpose
MatrixND transpose()
retourne le transpose de la matrice.- Returns:
- transposed matrix
-
reduce
MatrixND reduce()
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.- Returns:
- une nouvelle matrice plus petite que la matrice actuelle ou egal s'il n'y a aucune dimension à supprimer
-
reduce
MatrixND reduce(int minNbDim)
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.- 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
-
reduceDims
MatrixND reduceDims(int... dims)
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.- Parameters:
dims
- les dimensions sur lequel il faut faire la reduction- Returns:
- une nouvelle matrice
-
mult
MatrixND mult(MatrixND m)
Multiplication normal (produit matriciel) de 2 matrices 2D.- Parameters:
m
- matrix to mult- Returns:
- Retourne une nouvelle matrice.
-
mults
MatrixND mults(double d)
Multiplication d'une matrice par un scalaire.- Parameters:
d
- scalaire- Returns:
- new matrix
-
divs
MatrixND divs(double d)
Multiplication d'une matrice par un scalaire.- Parameters:
d
- scalaire- Returns:
- new matrix
-
adds
MatrixND adds(double d)
Addition d'un scalaire à une matrice.- Parameters:
d
- scalaire- Returns:
- new matrix
-
minuss
MatrixND minuss(double d)
Soustraction d'un scalaire à une matrice- Parameters:
d
- scalaire- Returns:
- new matrix
-
toList
List<?> toList()
Donne la matrice sous forme de List de list ... de double- Returns:
- list matrix representation
-
fromList
void fromList(List<?> list)
Permet de charger une matrice a partir d'une representation List- Parameters:
list
- la matrice sous forme de List de list ... de double
-
isSupportedCSV
@Deprecated boolean isSupportedCSV()
Deprecated.since 2.2, always returntrue
, CSV import/export is always supportedDetermine si la matrice supporte l'import et l'export CSV- Returns:
- support du CSV
-
importCSV
void importCSV(Reader reader, int[] origin) throws IOException
Import depuis un reader au format CSV des données dans la matrice.- Parameters:
reader
- le reader à importerorigin
- le point à partir duquel il faut faire l'importation- Throws:
IOException
-
importCSV
void importCSV(Reader reader, int[] origin, String matrixName) throws IOException
Import depuis un reader au format CSV des données dans la matrice.- Parameters:
reader
- le reader à importerorigin
- le point à partir duquel il faut faire l'importationmatrixName
- le nom de la matrice- Throws:
IOException
-
importCSV
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.- Parameters:
file
- file to readorigin
- le point à partir duquel il faut faire l'importation- Throws:
IOException
-
exportCSV
void exportCSV(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
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 matricewithSemantics
- export ou pas des semantiques de la matrice dans le writer- Throws:
IOException
-
equalsValues
boolean equalsValues(MatrixND mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiques- Parameters:
mat
-- Returns:
- equlaity on values
-
-