|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jstacs.algorithms.graphs.tensor.Tensor
public abstract class Tensor
This is the super class for any tensor. The tensor may be symmetric or asymmetric.
AsymmetricTensor
,
SymmetricTensor
Field Summary | |
---|---|
protected int |
L
The number of nodes minus 1. |
protected byte |
order
The order of the tensor. |
protected int[] |
powers
An array containing the powers for the number of nodes. |
Constructor Summary | |
---|---|
Tensor(int n,
byte k)
Creates a new Tensor for n nodes and order
k . |
Method Summary | |
---|---|
protected int |
getAsymIndex(int child,
int[] parents,
byte k)
Returns the index for an asymmetric tensor. |
abstract int[] |
getMaximalEdgeFor(byte k,
int child,
int... parents)
Returns the edge permute(parents[0],... |
int |
getNumberOfNodes()
Returns the number of nodes. |
byte |
getOrder()
Returns the order. |
abstract double |
getRootValue(int child)
Returns the value for child as root. |
abstract double |
getValue(byte k,
int child,
int... parents)
Returns the value for the edge parents[0],... |
static Tensor |
readTensorFromFile(String fname,
boolean asym)
The opposite of the method writeTensorToFile(String, OutputStream) . |
abstract void |
resetValue(byte k,
int child,
int... parents)
Sets the value for the edge parents[0],... |
abstract void |
setRootValue(int child,
double val)
Sets the value val for the root node child . |
abstract void |
setValue(byte k,
double val,
int child,
int... parents)
Sets the value for the edge parents[0],... |
double[][][] |
toDouble3DArray()
Creates a three-dimensional double array representation of
the Tensor . |
void |
writeTensorToFile(String fname,
OutputStream desc)
This method writes a Tensor in the exchange format in a specified
file. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int[] powers
protected int L
protected byte order
Constructor Detail |
---|
public Tensor(int n, byte k) throws IllegalArgumentException
Tensor
for n
nodes and order
k
.
n
- the number of nodesk
- the order
IllegalArgumentException
- if n < 0 or k < 1Method Detail |
---|
public abstract int[] getMaximalEdgeFor(byte k, int child, int... parents)
permute(parents[0],...,parents[k-1]) -> child
that maximizes
the score.
k
- the number of parents to be usedchild
- the child nodeparents
- the parent nodes (only the first k
will be used)
permute(parents[0],...,parents[k-1]) -> child
that
maximizes the scorepublic int getNumberOfNodes()
public byte getOrder()
public abstract double getRootValue(int child)
child
as root.
child
- the name of the node
public abstract double getValue(byte k, int child, int... parents)
parents[0],...,parents[k-1] -> child
.
k
- the number of parents to be usedchild
- the child nodeparents
- the parent nodes (only the first k
will be used)
parents[0],...,parents[k-1] -> child
public abstract void setRootValue(int child, double val)
val
for the root node child
.
child
- the name of the nodeval
- the value for the nodepublic abstract void setValue(byte k, double val, int child, int... parents)
parents[0],...,parents[k-1] -> child
.
k
- the number of parents to be usedval
- the new valuechild
- the child nodeparents
- the parent nodes (only the first k
will be used)public abstract void resetValue(byte k, int child, int... parents)
parents[0],...,parents[k-1] -> child
to
Double.NEGATIVE_INFINITY
.
k
- the number of parents to be usedchild
- the child nodeparents
- the parent nodes (only the first k
will be used)public void writeTensorToFile(String fname, OutputStream desc) throws IOException
Tensor
in the exchange format in a specified
file.
fname
- the file namedesc
- gives you the possibility to write the description of the
tensor file
IOException
- if something went wrong with the filereadTensorFromFile(String, boolean)
public static Tensor readTensorFromFile(String fname, boolean asym) throws NumberFormatException, IOException
writeTensorToFile(String, OutputStream)
.
fname
- the file nameasym
- true
generates an AsymmetricTensor
,
otherwise a SymmetricTensor
IOException
- if something went wrong with the file
NumberFormatException
- if the file could not be parsed correctlywriteTensorToFile(String, OutputStream)
public double[][][] toDouble3DArray()
double
array representation of
the Tensor
.
double
array representation of
the Tensor
protected int getAsymIndex(int child, int[] parents, byte k)
child
- the child nodeparents
- the parent notesk
- the order
powers
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |