no.uio.labmed.linalg
Class AbstractMatrise

java.lang.Object
  |
  +--no.uio.labmed.linalg.AbstractMatrise
Direct Known Subclasses:
IntMatrise, Matrise

public abstract class AbstractMatrise
extends java.lang.Object

Grunnleggende struktur for n-dimensjonale matriser. Dimensjonene spesifiseres ved instansiering, mens prosedyrer for aa hente ut verdiene maa defineres. Inneholder metoder for aa lese og analysere matrisen.

Abstrakte definisjoner som maa defineres i utvidelsen:


Nested Class Summary
 class AbstractMatrise.Faktorer
          Faktoriseringsobjekt for aa dekomponere matrisen.
 class AbstractMatrise.Iterator
          Iterator for aa gaa igjennom alle posisjonene i en matrise.
 
Field Summary
protected  int[] dim
          Dimensjonene til matrisen.
 
Constructor Summary
AbstractMatrise(int[] dim)
          Konstruktoren.
 
Method Summary
 int dim(int p)
          Gir storrelsen dimensjonene.
 int dims()
          Antall dimensjoner.
 AbstractMatrise.Faktorer faktorer(AbstractMatrise vekt)
           
 AbstractMatrise.Faktorer faktorer(AbstractMatrise vekt, AbstractMatrise[] overganger)
          Lager et nytt faktoriseringsobjekt for matrisen.
 double get(AbstractMatrise.Iterator i)
           
abstract  double get(int[] pos)
          Abstrakt definert prosedyre for aa lese verdi fra matrisen.
 int index(int[] pos)
          Finne indeks fra 0 til size()-1utfra posisjon.
 AbstractMatrise.Iterator iterator()
          Lager iterator for aa gjennomlope alle posisjonene i en matrise.
 boolean posisjonOK(int[] pos)
          Sjekker om posisjonen er innenfor matrisens dimensjoner
 int[] position(int index)
          Finner posisjon utfra index
 int size()
          Antall elementer i matrisen: produktet av alle dimensjonene.
 Matrise toMatrise()
          Konverterer/kopierer til Matrise
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dim

protected int[] dim
Dimensjonene til matrisen. Lengden av arrayen angir antall dimensjoner og verdiene lengden av hver dimensjon.

Constructor Detail

AbstractMatrise

public AbstractMatrise(int[] dim)
Konstruktoren.

Parameters:
dim - angir matrisens dimensjoner
Method Detail

get

public abstract double get(int[] pos)
Abstrakt definert prosedyre for aa lese verdi fra matrisen.

Parameters:
pos - array som angir posisjonen i matrisen, jfr. dim.
Returns:
verdien i den angitte posisjonen.

get

public double get(AbstractMatrise.Iterator i)

dims

public int dims()
Antall dimensjoner.

Returns:
antall dimensjoner

dim

public int dim(int p)
Gir storrelsen dimensjonene.

Parameters:
p - angir hvilken av dimensjonene (fra 0 til dims()-1)
Returns:
storrelsen av dimensjon nummer i

size

public int size()
Antall elementer i matrisen: produktet av alle dimensjonene.

Returns:
Antall elementer i matrisen.

index

public int index(int[] pos)
Finne indeks fra 0 til size()-1utfra posisjon. Denne brukes gjerne hvis matrisen er implementert som en array.

Parameters:
pos - array som angir posisjon i matrisen
Returns:
indeks som tall fra 0 til size()-1

posisjonOK

public boolean posisjonOK(int[] pos)
Sjekker om posisjonen er innenfor matrisens dimensjoner

Parameters:
pos - array som angir posisjon i matrisen
Returns:
true hvis posisjonen er innenfor matrisen, ellers false

position

public int[] position(int index)
Finner posisjon utfra index

Parameters:
index - indeks fra 0 til size()-1
Returns:
array som angir posisjon i matrisen

toMatrise

public Matrise toMatrise()
Konverterer/kopierer til Matrise

Returns:
kopi av AbstractMatrise til en Matrise: en implementasjon av matriser ved hjelp av double[].

iterator

public AbstractMatrise.Iterator iterator()
Lager iterator for aa gjennomlope alle posisjonene i en matrise.

Returns:
iterator av typen AbstractMatrise.Iterator

faktorer

public AbstractMatrise.Faktorer faktorer(AbstractMatrise vekt,
                                         AbstractMatrise[] overganger)
Lager et nytt faktoriseringsobjekt for matrisen.

Returns:
faktoriseringsobjekt av type AbstractMatrise.Faktorer

faktorer

public AbstractMatrise.Faktorer faktorer(AbstractMatrise vekt)