Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jstacs.algorithms.graphs.tensor
Class Tensor

    java.lang.Object
      de.jstacs.algorithms.graphs.tensor.Tensor

Direct Known Subclasses:
  AsymmetricTensor, SymmetricTensor

    public abstract class Tensor

extends Object

This is the super class for any tensor. The tensor may be symmetric or asymmetric.

Author:
  Jens Keilwagen

Field Summary
`protected int` | `L`
`protected byte` | `order`
`protected int[]` | `powers`

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)`
`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`.
`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()`
`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

### powers

    protected int[] powers

### L

    protected int L

### order

    protected byte order

Constructor Detail

### Tensor

    public Tensor(int n,
                  byte k)
           throws IllegalArgumentException

  Creates a new Tensor for `n` nodes and order `k`.

  Parameters:
    `n` - the number of nodes
    `k` - the order
  Throws:
    `IllegalArgumentException` - if n < 0 or l < 1

Method Detail

### getMaximalEdgeFor

    public abstract int[] getMaximalEdgeFor(byte k,
                                            int child,
                                            int... parents)

  Returns the edge `permute(parents[0],...,parents[k-1]) -> child` that maximizes the score.

### getNumberOfNodes

    public int getNumberOfNodes()

  Returns the number of nodes.

  Returns:
    the number of nodes.

### getOrder

    public byte getOrder()

  Returns the order.

  Returns:
    the order.

### getRootValue

    public abstract double getRootValue(int child)

  Returns the value for `child` as root.

  Parameters:
    `child` - the name of the node
  Returns:
    the value for the node

### getValue

    public abstract double getValue(byte k,
                                    int child,
                                    int... parents)

  Returns the value for the edge `parents[0],...,parents[k-1] -> child`.

  Parameters:
    `k` - the number parents to be used
    `child` - the child node
    `parents` - the parents nodes (only the first `k` will be used
  Returns:
    the value for the edge `parents[0],...,parents[k-1] -> child`

### setRootValue

    public abstract void setRootValue(int child,
                                      double val)

  Sets the value `val` for the root node `child`.

  Parameters:
    `child` - the name of the node
    `val` - the value for the node

### setValue

    public abstract void setValue(byte k,
                                  double val,
                                  int child,
                                  int... parents)

  Sets the value for the edge `parents[0],...,parents[k-1] -> child`.

  Parameters:
    `k` - the number parents to be used
    `val` - the new value
    `child` - the child node
    `parents` - the parents nodes (only the first `k` will be used

### resetValue

    public abstract void resetValue(byte k,
                                    int child,
                                    int... parents)

  Sets the value for the edge `parents[0],...,parents[k-1] -> child` to Double.NEGATIVE_INFINITY.

  Parameters:
    `k` - the number parents to be used
    `child` - the child node
    `parents` - the parents nodes (only the first `k` will be used

### writeTensorToFile

    public void writeTensorToFile(String fname,
                                  OutputStream desc)
                           throws IOException

  This method writes a Tensor in the exchange format in a specified file.

  Parameters:
    `fname` - the file name
    `desc` - gives you the possibility to write the description of the tensor file
  Throws:
    `IOException` - if something went wrong with the file

### readTensorFromFile

    public static Tensor readTensorFromFile(String fname,
                                            boolean asym)
                                     throws NumberFormatException,
                                            IOException

  The opposite of the method `writeTensorToFile`.

  Parameters:
    `fname` - the file name
    `asym` - `true` generates a AsymmetricTensor, otherwise a SymmetricTensor
  Returns:
    the tensor from the file
  Throws:
    `IOException` - if something with the file went wrong
    `NumberFormatException` - if the file could not be parsed correctly

### toDouble3DArray

    public double[][][] toDouble3DArray()

### getAsymIndex

    protected int getAsymIndex(int child,
                               int[] parents,
                               byte k)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD