2010-08-17 19 views
3

Je vois 2 implémentations de matrice fragmentée dans ce package.Visiter toutes les entrées de Sparse Matrix dans le package org.apache.commons.math.linear

  1. OpenMapRealMatrix
  2. SparseFieldMatrix

Les deux sont documentées comme "la mise en œuvre de la matrice Sparse à partir d'une carte ouverte adressée". Savez-vous quelles sont les diffrences entre les 2? De plus, quel est le meilleur moyen de parcourir rapidement toutes les entrées (c'est-à-dire d'effectuer une itération sur les éléments non nuls).

Merci! SparseFieldMatrix est simplement une interface implémentée par la classe OpenMapRealMatrix.

Répondre

1

Pour parcourir les entrées le plus efficacement possible, voir les surcharges walkInOptimizedOrder, en fonction de ce que vous devez faire lors de l'itération. Vous devez donner à ces méthodes une instance Visitor qui gère ensuite l'itération. Voir this example lorsque vous avez besoin d'un accès en lecture seule à chaque élément.

Il ne me semble pas clair dans cette documentation comment l'itération fonctionne pour la matrice clairsemée que vous souhaitez utiliser. Il dit que vous devriez visiter toutes les entrées, mais si cela signifie seulement les non-zéro ou non, je ne peux pas être sûr.