Sub - The sub-states.E - The events classpublic abstract class GeomProcess<Sub extends State,E extends Event> extends SimpleMarkovProcess<GeomState<Sub>,E>
MarkovProcess.Status| Constructor and Description |
|---|
GeomProcess(Sub i0,
EventsSet<E> eSet)
Builds a GeomProcess
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
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. m=1 is the long-run expected value, m=2 expected value
of the square, etc.
|
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).
|
activeTransitionsaddMOP, allToString, canGo, clearMOPs, debug, debug, debug, denseMatrixToString, denseMatrixToString, description, eventRatesToString, eventsRatesToString, generate, getDebugLevel, getDebugReporter, getEventClass, getEventNames, getEvents, getEventsRates, getFinalRate, getGenerator, getMaxStates, getMOPIndex, getMOPNames, getMOPNames, getMOPsAvg, getMOPsAvg, getMOPsAvg, getMOPsMoment, getMOPsMoment, getMtjGenerator, getMtjRates, getNumStates, getProgress, getRate, getRates, getRates, getStates, getStatus, getStatusMsg, getSteadyState, getSteadyStateSolver, getTransientSolver, go, goStep, hideGUI, isGenerated, killGUI, label, loadGUI, MOPsToString, MOPsToString, numMOPs, pause, printAll, printDenseMatrix, printDenseMatrix, printEventsRates, printEventsRates, printMOPs, printMOPs, printMOPs, printStates, resetResults, setDebugLevel, setDebugReporter, setMaxStates, setMOPs, setSteadyStateSolver, setTransientSolver, showGUI, statesLableMaxWidth, statesToString, toStringequals, getClass, hashCode, notify, notifyAll, wait, wait, waitequalspublic StatesSet<GeomState<Sub>> getStates()
MarkovProcesspublic 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
NotUnichainExceptionpublic double[][] matrixRtoArray()
throws NotUnichainException
NotUnichainExceptionpublic no.uib.cipr.matrix.Matrix[] getAMatrices()
public no.uib.cipr.matrix.Matrix[] getBMatrices()
public double[] getInitialSol()
throws NotUnichainException
NotUnichainExceptionpublic double[] getVectorPi1()
throws NotUnichainException
NotUnichainExceptionpublic double[] getVectorPi1Mod()
throws NotUnichainException
NotUnichainExceptionpublic double[] getVectorPi0()
throws NotUnichainException
NotUnichainExceptionpublic double[] getSteadyState(int level)
throws NotUnichainException
level - NotUnichainExceptionpublic double[] steadyProbabilities()
throws NotUnichainException
NotUnichainExceptionpublic 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)
MarkovProcessprintStates 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)
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)
activeactive 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 - Eventpublic 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 eventSimpleMarkovProcess.dests(State, Event)public void reset()
MarkovProcesspublic double getMOPsMoment(int mopNum,
int m)
throws NotUnichainException
MarkovProcessgetMOPsMoment 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
MarkovProcessgetEventRate 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()public GeometricSolver getGeometrixSolver()
GeometricSolverpublic void setGeometrixSolver(GeometricSolver geometrixSolver)
geometrixSolver - The GeometrixSolver to set.GeometricSolver