|
||||||||||
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
NotUnichainException
public 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
NotUnichainException
public boolean isStable()
public void printAll(java.io.PrintWriter out)
MarkovProcess
printAll()
.
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)
SimpleMarkovProcess
e
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.
NotUnichainException
MarkovProcess.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.
NotUnichainException
MarkovProcess.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()
GeometricSolver
public 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 |