org.nuiton.math.matrix
Class MatrixHelper

java.lang.Object
  extended by org.nuiton.math.matrix.MatrixHelper

public class MatrixHelper
extends java.lang.Object

Contains usefull methods to get information on matrix. Created: 28 oct. 2004

Version:
$Revision: 168 $ Mise a jour: $Date: 2009-07-17 18:18:45 +0200 (ven., 17 juil. 2009) $ par : $Author: echatellier $
Author:
Benjamin Poussin

Constructor Summary
MatrixHelper()
           
 
Method Summary
static java.util.List<java.lang.Object> convertStringToList(java.lang.String s)
          Permet de relire une chaine du type [[[1, 2], [3, 4]],[[3, 5], [1, 4]]] Remarque: une premiere implantantion avait ete faite en utilisant StreamTokenizer mais en fait il y a un bug dedans, il ne sait pas parser les chiffres avec un exposant: 5.0E-7 par exemple est lu comme 5.0 :( Remarque: une autre implantation de remplacement a ete faite en utilisant le StringUtil.split(String, String) mais elle etait moins performante (x2)
static MatrixND convertToId(MatrixND mat)
          Convert Matrix to identity matrix must have 2 dimensions.
static java.lang.String coordinatesToString(int[] coordinates)
          permet de donner une représentation String d'un tableau de coordonnées
static java.lang.String coordinatesToString(java.lang.Object[] coordinates)
          permet de donner une représentation String d'un tableau de coordonnées
static java.lang.Object[] dimensionToSemantics(java.util.List<?>[] semantics, int[] coordinates)
          Permet de convertir des coordonnées définies par des entiers en coordonnées semantique par des objets
static MatrixND fill(MatrixND mat, double value)
          Permet de remplir toute la matrice avec la même donnée
static int indexOf(java.util.List<?>[] semantics, int dim, java.lang.Object o)
          Permet de retrouver la position d'un objet dans une liste
static double maxOccurence(double[] tab)
          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ée.
static double maxOccurence(float[] tab)
           
protected static double maxOccurence1(double[] tmp)
          le tableau en entre est trie durant l'execution de la methode, il est donc modifié
static boolean sameDimension(int[] dim1, int[] dim2)
          Permet de savoir si deux dimension sont identiques.
static int[] semanticsToDimension(java.util.List<?>[] semantics, java.lang.Object[] coordinates)
          Permet de convertir des coordonnées sémantiques en coordonnées défini par des entiers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MatrixHelper

public MatrixHelper()
Method Detail

convertToId

public static MatrixND convertToId(MatrixND mat)
Convert Matrix to identity matrix must have 2 dimensions. If dimension haven't same length, then the small dimension is used.

Parameters:
mat - matrix nd to convert
Returns:
converted matrix

convertStringToList

public static java.util.List<java.lang.Object> convertStringToList(java.lang.String s)
Permet de relire une chaine du type [[[1, 2], [3, 4]],[[3, 5], [1, 4]]]

Remarque: une premiere implantantion avait ete faite en utilisant StreamTokenizer mais en fait il y a un bug dedans, il ne sait pas parser les chiffres avec un exposant: 5.0E-7 par exemple est lu comme 5.0 :(

Remarque: une autre implantation de remplacement a ete faite en utilisant le StringUtil.split(String, String) mais elle etait moins performante (x2)

Parameters:
s - la chaine representant les listes de liste
Returns:
une liste de liste ... de Double

coordinatesToString

public static java.lang.String coordinatesToString(int[] coordinates)
permet de donner une représentation String d'un tableau de coordonnées

Parameters:
coordinates - les coordonnées
Returns:
la chaine demandée de la forme 1,3,34,23

coordinatesToString

public static java.lang.String coordinatesToString(java.lang.Object[] coordinates)
permet de donner une représentation String d'un tableau de coordonnées

Parameters:
coordinates - les coordonnées
Returns:
la chaine demandée de la forme "Ob1","Ob2,"Ob3", ... la chaine prise pour l'objet est celle retournée par la méthode toString de l'objet

sameDimension

public static boolean sameDimension(int[] dim1,
                                    int[] dim2)
Permet de savoir si deux dimension sont identiques.

Parameters:
dim1 - first dimensions
dim2 - second dimensions
Returns:
dimension equality

dimensionToSemantics

public static java.lang.Object[] dimensionToSemantics(java.util.List<?>[] semantics,
                                                      int[] coordinates)
Permet de convertir des coordonnées définies par des entiers en coordonnées semantique par des objets

Parameters:
semantics - la semantique à utilisé pour la conversion
coordinates - les coordonnées à convertir
Returns:
un tableau donnant les coordonnées sous forme semantique s'il n'y a pas de semantique (liste pleine de null) alors un objet Integer est créer pour représenter la semantique de la dimension.

semanticsToDimension

public static int[] semanticsToDimension(java.util.List<?>[] semantics,
                                         java.lang.Object[] coordinates)
Permet de convertir des coordonnées sémantiques en coordonnées défini par des entiers. Cette fonction est l'inverse de dimensionToSemantics(java.util.List[], int[]).

Parameters:
semantics - la semantique à utiliser pour la conversion
coordinates - les coordonnées sémantique
Returns:
les coordonnées en entier. Si la sémantique est représentéé par un Integer alors la valeur de l'integer est utilisé pour la conversion.

indexOf

public static int indexOf(java.util.List<?>[] semantics,
                          int dim,
                          java.lang.Object o)
                   throws java.util.NoSuchElementException
Permet de retrouver la position d'un objet dans une liste

Parameters:
semantics - la semantique à utilisé pour la recherche
dim - la dimension dans lequel il faut faire la recherche
o - l'objet à rechercher
Returns:
la position de l'objet dans la dimension demandée
Throws:
java.util.NoSuchElementException - If element doesn't exists

fill

public static MatrixND fill(MatrixND mat,
                            double value)
Permet de remplir toute la matrice avec la même donnée

Parameters:
mat - la matrice à remplir
value - la valeur de remplissage
Returns:
la matrice passé en paramêtre

maxOccurence

public static double maxOccurence(double[] tab)
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ée.

Parameters:
tab - le tableau de valeur
Returns:
la valeur la plus nombreuse dans le tableau

maxOccurence

public static double maxOccurence(float[] tab)

maxOccurence1

protected static double maxOccurence1(double[] tmp)
le tableau en entre est trie durant l'execution de la methode, il est donc modifié



Copyright © 2004-2009 CodeLutin. All Rights Reserved.