|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjmarkov.MarkovProcess<S,E>
jmarkov.SimpleMarkovProcess<GeomState<Sub>,E>
jmarkov.GeomProcess<Sub,E>
Sub - The sub-states.E - The events classpublic abstract class GeomProcess<Sub extends State,E extends Event>
The class GeomProcess represents a continuos or discrete Quasi Birth and Death process. This class extends the class SimpleMarkovProcess. The class generate the G matrix through the Logarithmic Reduction algorithm. The user should extend State to generate Sub-States.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class jmarkov.MarkovProcess |
|---|
MarkovProcess.Status |
| Field Summary | |
|---|---|
protected GeometricSolver |
defaultGeometrixSolver
Default Solver |
protected GeometricSolver |
GeometrixSolver
Current Solver |
| Fields inherited from class jmarkov.MarkovProcess |
|---|
cnt, defaultSteadyStateSolver, defaultTransientSolver, name, theStates |
| Constructor Summary | |
|---|---|
GeomProcess(Sub i0,
EventsSet<E> eSet)
Builds a GeomProcess |
|
| Method Summary | |
|---|---|
boolean |
active(GeomState<Sub> i,
E e)
The user cannot extend this method. |
abstract boolean |
active(Sub substate,
int iLevel,
E e)
The user must extend this method to determine which events are active. |
States<GeomState<Sub>> |
dests(GeomState<Sub> i,
E e)
Overrides SimpleMarkovProcess' method |
abstract GeomRelState[] |
dests(Sub i,
int iLevel,
E e)
Determines the destination set of States when events e occurs. |
no.uib.cipr.matrix.Matrix[] |
getAMatrices()
Returns the matrices of the repeating levels, A0, A1, and A2. |
no.uib.cipr.matrix.Matrix[] |
getBMatrices()
Returns the matrices B00, B01 and B10. |
Sub[] |
getBoundaryStates()
Returns an array with the States in the boundary level. |
protected GeometricSolver |
getDefaultGeometrixSolver()
Returns the default GeometrixSolver. |
double |
getEventRate(int eNum)
Return the steadystate rate of occurrance of the Events number eNum. |
double |
getExpectedLevel()
Returns the Expected Value for the Level. |
GeometricSolver |
getGeometrixSolver()
The currently defined solver. |
double[] |
getInitialSol()
Computes and returns the initial solution [ pi(0), pi(1) ]. |
double |
getMOPsMoment(int mopNum,
int m)
Returns the steady state measures m-th moment of the MOP number mopNum. |
int |
getNumBoundaryStates()
The Number of States in the boundary level. |
int |
getNumTypicalStates()
The number of states in the typical levels. |
no.uib.cipr.matrix.Matrix |
getRmatrix()
The R Matrix of the Geometric solution. |
java.lang.Class |
getStateClass()
This return the Sub-States class, rather than GeomState. |
StatesSet<GeomState<Sub>> |
getStates()
Returns an array with all the States in the model. |
double[] |
getSteadyState(int level)
Return an array with the probabilities for the given level. |
no.uib.cipr.matrix.Matrix |
getSubMatrices(int rowMin,
int rowMax,
int colMin,
int colMax)
This method constructs any A_n or B_ij matrix existing in the process and that are necessary to calculated R matrix. |
Sub[] |
getTypicalStates()
Returns an array with the States in the typical levels. |
double[] |
getVectorPi0()
Returns the steady State probabilities for boundary level. |
double[] |
getVectorPi1()
Returns the steady State probabilities for level 1. |
double[] |
getVectorPi1Mod()
Returns the steady State probabilities for level 1. |
boolean |
isStable()
Determines if the system is stable. |
double[][] |
matrixRtoArray()
|
void |
printAll(java.io.PrintWriter out)
Prints to the given PrintWriter a summary of the information related to this MarkovChain. |
void |
printStates(java.io.PrintWriter out,
int width,
int probDecimals)
Prints a description of the States and the Equilibrium Probabilities. |
double |
rate(GeomState<Sub> i,
GeomState<Sub> j,
E e)
Returns the rate to go from State i to j when Event e occurs. |
abstract double |
rate(Sub i,
int ilevel,
Sub j,
int jLevel,
E e)
|
void |
reset()
Resets the Model. |
void |
setGeometrixSolver(GeometricSolver geometrixSolver)
Allows the user to set an alternate solver. |
double[] |
steadyProbabilities()
Computes the steady state probabilities for the generated States (up to level 2). |
| Methods inherited from class jmarkov.SimpleMarkovProcess |
|---|
activeTransitions |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface jmarkov.basic.JMarkovElement |
|---|
equals |
| Field Detail |
|---|
protected GeometricSolver GeometrixSolver
protected GeometricSolver defaultGeometrixSolver
| Constructor Detail |
|---|
public GeomProcess(Sub i0,
EventsSet<E> eSet)
i0 - Initial state. MUST be a boundary state!eSet - the event set.| Method Detail |
|---|
public StatesSet<GeomState<Sub>> getStates()
MarkovProcess
getStates in class MarkovProcess<GeomState<Sub extends State>,E extends Event>public Sub[] getBoundaryStates()
public Sub[] getTypicalStates()
public int getNumBoundaryStates()
public int getNumTypicalStates()
public no.uib.cipr.matrix.Matrix getSubMatrices(int rowMin,
int rowMax,
int colMin,
int colMax)
rowMax - The upper limit row index.rowMin - The lower limit row index.colMax - The upper limit column index.colMin - The lower limit column index.
public no.uib.cipr.matrix.Matrix getRmatrix()
throws NotUnichainException
A0+RA1 + R2A2 = 0
NotUnichainException
public double[][] matrixRtoArray()
throws NotUnichainException
NotUnichainExceptionpublic no.uib.cipr.matrix.Matrix[] getAMatrices()
public no.uib.cipr.matrix.Matrix[] getBMatrices()
public double[] getInitialSol()
throws NotUnichainException
NotUnichainException
public double[] getVectorPi1()
throws NotUnichainException
NotUnichainException
public double[] getVectorPi1Mod()
throws NotUnichainException
NotUnichainException
public double[] getVectorPi0()
throws NotUnichainException
NotUnichainException
public double[] getSteadyState(int level)
throws NotUnichainException
level -
NotUnichainException
public double[] steadyProbabilities()
throws NotUnichainException
NotUnichainException
public double getExpectedLevel()
throws NotUnichainException
L = (p1 + 2p2 +3p3 + ... )1= p1(I-R)-21
NotUnichainExceptionpublic boolean isStable()
public void printAll(java.io.PrintWriter out)
MarkovProcessprintAll().
printAll in class MarkovProcess<GeomState<Sub extends State>,E extends Event>MarkovProcess.toString(),
MarkovProcess.printAll()
public void printStates(java.io.PrintWriter out,
int width,
int probDecimals)
MarkovProcess
printStates in class MarkovProcess<GeomState<Sub extends State>,E extends Event>out - The writer to write to.width - The width of each column.probDecimals - The number of decimals for the
probabilities.
public abstract GeomRelState[] dests(Sub i,
int iLevel,
E e)
i - current State.iLevel - absolute level of current State. For QBD this is
0, 1 or 2. Anything above 2 should report the same
result.e - The Event that ocurred.
public final States<GeomState<Sub>> dests(GeomState<Sub> i,
E e)
dests in class SimpleMarkovProcess<GeomState<Sub extends State>,E extends Event>i - current statee - Event
public abstract boolean active(Sub substate,
int iLevel,
E e)
substate - the current sub stateiLevel - Absolute level of current State i. You should
test only whether it is 0 (boundary), 1 or greater than
1. Your code should not behave any different if the
level is 2, or 3, etce - The event being tested.
public final boolean active(GeomState<Sub> i,
E e)
active
active in class SimpleMarkovProcess<GeomState<Sub extends State>,E extends Event>i - The current Statee - The current Event.
active(State, int, Event),
SimpleMarkovProcess.active(State, Event)
public abstract double rate(Sub i,
int ilevel,
Sub j,
int jLevel,
E e)
i - current sub stateilevel - current state's absolute levelj - destination sub statejLevel - destination levele - Event
public double rate(GeomState<Sub> i,
GeomState<Sub> j,
E e)
SimpleMarkovProcesse is indeed active and j is a valid
destination.
rate in class SimpleMarkovProcess<GeomState<Sub extends State>,E extends Event>i - Current statej - Destination Statee - The occuring event
SimpleMarkovProcess.dests(State, Event)public void reset()
MarkovProcess
reset in class MarkovProcess<GeomState<Sub extends State>,E extends Event>
public double getMOPsMoment(int mopNum,
int m)
throws NotUnichainException
MarkovProcess
getMOPsMoment in class MarkovProcess<GeomState<Sub extends State>,E extends Event>mopNum - The number for the MOPm - The value of m.
NotUnichainExceptionMarkovProcess.getMOPsMoment(int, int)
public double getEventRate(int eNum)
throws NotUnichainException
MarkovProcess
getEventRate in class MarkovProcess<GeomState<Sub extends State>,E extends Event>eNum - The even number in the event set.
NotUnichainExceptionMarkovProcess.getEventRate(int)public java.lang.Class getStateClass()
getStateClass in class MarkovProcess<GeomState<Sub extends State>,E extends Event>MarkovProcess.getStateClass()protected final GeometricSolver getDefaultGeometrixSolver()
public GeometricSolver getGeometrixSolver()
GeometricSolverpublic void setGeometrixSolver(GeometricSolver geometrixSolver)
geometrixSolver - The GeometrixSolver to set.GeometricSolver
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||