Poeter.se logo icon
Redan medlem?   Logga in




 

class ParikhMatrix implements serializable

import java.util.*;
import java.io.*;

class ParikhMatrix implements serializable
{
private ArrayList words;
private Word recent;
private Alphabet sigma;
private int[][] matrix;
private int k;
private ArrayList leMatrix;
/*skapa en inreklass av letterMatrix*/

public ParikhMatrix(Word w, Alphabet sigma)
{
words.add(w);
recent=w;
this.sigma=sigma;
k=sigma.length();
initializeMatrix();
}

public void initializeMatrix()
{
//Parikh vektorns längd=alfabetetslängd
int i=0;
for(String a: sigma.getAlphabet())
{
leMatrix.add(new LetterMatrix(i++));
}
matrix = matrixMultiplication();
}

class letterMatrix
{
private String letter;
private int card;
private int pos;
private int[][] atomMatrix = new int[k+1][k+1];
public LetterMatrix(String letter)
{
this.letter=letter;
card=recent.letterCard(letter);
pos=sigma.position(letter);
atomMatrix[pos][pos+1]=card; //Definitionen av Parikh Matriser
for(int i=0; i atomMatrix[i][i]=1;
}

public String getLetter()
{
return letter;
}

public int getCard()
{
return card;
}

public int getPos()
{
return pos;
}

public int[][] getAtomMatrix()
{
return atomMatrix;
}
}

public int[][] matrixMultiplication()
{
int[][] tmp=leMatrix.get(0).getAtomMatrix();
/*Beviset av Parikh Matris huvudteoremet*/
for(int i=1; i {
tmp=multiply(tmp,leMatrix.get(i).getAtomMatrix());
}
return tmp;
}

public int[][] MatrixMultiplyHelp(int[][] m1,int[][] m2)
{
int[][] m = new int[k+1][k+1];
for(int i=0; i for(int j=0; i m[i][j]=rowColMultiply(i,j);
return m;
}

public int rowColMultiply(int row , int col)
{
int sum=0;
for(int i=0; i sum+=m1[row][i]*m2[i][col];
return sum;
}

public ArrayList getLeMatrix()
{
return leMatrix;
}

//public void changeAlphabet(Alphabet sigma){}
public Word getWordList()
{
return w;
}

public Alphabet getAlphabet()
{
return sigma;
}

public String toString()
{
String str="";
return str;
}

public int[][] getMatrix()
{
return matrix;
}
}




Bunden vers (Haiku) av PolyMathWolverine
Läst 145 gånger
Publicerad 2008-05-28 19:42



Bookmark and Share

  > Nästa text
< Föregående

PolyMathWolverine
PolyMathWolverine