Packages

  • package root
    Definition Classes
    root
  • package de
    Definition Classes
    root
  • package h2b
    Definition Classes
    de
  • package scala
    Definition Classes
    h2b
  • package lib
    Definition Classes
    scala
  • package math
    Definition Classes
    lib
  • package linalg

    LinAlg provides data types and operations for algebraic vectors and matrices.

    LinAlg provides data types and operations for algebraic vectors and matrices.

    Vector and Matrix elements can be of arbitrary type, provided that a factory for that element type is available. Currently, factories exist for Double, Float, Long, Int, Short, Byte and Char.

    Vector and matrix (row and column) indices can be any integer (to state more precisely, an index must be in the interval [Mindex, Maxdex], as defined in the Index object). But only elements corresponding to a subset of that whole integer range actually are stored (the concrete elements), while all other elements by definition are zero (virtual elements).

    This concept (which I got to value a long time ago with the ALGOL68 library prelude TORRIX [1]) does not only provide a natural approach to operations with vectors and matrixes of different index ranges, but also prevents from index-out-of-bounds exceptions.

    Concrete index ranges (those indices that correspond to concrete elements) implicitly or explicitly are assigned when a vector or matrix is created. By default, it starts at 1 and extends to the number of elements specified, but this is customizable.

    Vectors and Matrixes both are immutable by design, so there exist no update methods or the like (you cannot do v(i) = something). There are, however, builder classes that allow you to build Vectors and Matrixes element by element.

    Currently, operations on vectors and matrices require identical element types. For instance, you can add a Vector[Int] to another Vector[Int], but you cannot add a Vector[Int] to another Vector[Double].

    Definition Classes
    math
    See also

    [1] S. G. van der Meulen, P. Kühling, "Programmieren in ALGOL68", Bd. II (Berlin, New York: de Gruyter), 149-188 (1977)

  • package building

    Vector and matrix builders.

    Vector and matrix builders.

    Definition Classes
    linalg
    Since

    3.0.0

  • package factory

    Vector and matrix factories including scalar operations and concrete factories for standard types.

    Vector and matrix factories including scalar operations and concrete factories for standard types.

    Definition Classes
    linalg
    Since

    3.0.0

  • DoubleOps
  • DoubleVector
  • DoubleVectorFactory
  • IntOps
  • IntVector
  • IntVectorFactory
  • MatrixFactory
  • NumericByteVectorFactory
  • NumericCharVectorFactory
  • NumericDoubleVectorFactory
  • NumericFloatVectorFactory
  • NumericIntVectorFactory
  • NumericLongVectorFactory
  • NumericOps
  • NumericShortVectorFactory
  • NumericVector
  • RowMatrix
  • RowMatrixFactory
  • ScalarMap
  • ScalarSeq
  • Scalars
  • SparseDoubleVector
  • SparseIntVector
  • SparseNumericVector
  • SparseRowMatrix
  • VectorFactory
  • package storage

    Storage engines for vectors and matrices.

    Storage engines for vectors and matrices.

    Definition Classes
    linalg
    Since

    3.0.0

package factory

Vector and matrix factories including scalar operations and concrete factories for standard types.

Since

3.0.0

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. factory
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait DoubleOps extends Vector[Double]

    Since

    3.0.0

  2. abstract class DoubleVector extends ScalarSeq[Double] with DoubleOps with VectorLike[Double, Vector[Double]]

    An algebraic vector consisting of Double elements with index range [i0, i0+length-1].

  3. trait IntOps extends Vector[Int]

    Since

    3.0.0

  4. abstract class IntVector extends ScalarSeq[Int] with IntOps with VectorLike[Int, Vector[Int]]

    An algebraic vector consisting of Int elements with index range [i0, i0+length-1].

  5. trait MatrixFactory extends AnyRef

  6. trait NumericOps[E] extends Vector[E]

    Since

    3.0.0

  7. abstract class NumericVector[E] extends ScalarSeq[E] with NumericOps[E] with VectorLike[E, Vector[E]]

    An algebraic vector consisting of implicitly numeric elements with index range [i0, i0+length-1].

  8. abstract class RowMatrix[E] extends Matrix[E] with MatrixLike[E, Matrix[E]]

    An algebraic matrix optimized for row-vector operations.

  9. class ScalarMap[E] extends Scalars
  10. class ScalarSeq[E] extends Scalars
  11. trait Scalars extends AnyRef

    Since

    3.0.0

  12. abstract class SparseDoubleVector extends ScalarMap[Double] with DoubleOps

    An algebraic vector consisting of Double elements constituted by the specified index-value pairs.

    An algebraic vector consisting of Double elements constituted by the specified index-value pairs.

    Since

    3.0.0

  13. abstract class SparseIntVector extends ScalarMap[Int] with IntOps

    An algebraic vector consisting of Int elements constituted by the specified index-value pairs.

    An algebraic vector consisting of Int elements constituted by the specified index-value pairs.

    Since

    3.0.0

  14. abstract class SparseNumericVector[E] extends ScalarMap[E] with NumericOps[E]

    An algebraic vector consisting of implicitly numeric elements constituted by the specified index-value pairs.

    An algebraic vector consisting of implicitly numeric elements constituted by the specified index-value pairs.

    Since

    3.0.0

  15. abstract class SparseRowMatrix[E] extends SparseMatrix[E]

    An algebraic matrix optimized for row-vector operations that are sparse on rows.

    An algebraic matrix optimized for row-vector operations that are sparse on rows.

    Since

    3.0.0

  16. trait VectorFactory[E] extends AnyRef

Value Members

  1. object DoubleVector
  2. object DoubleVectorFactory extends VectorFactory[Double]
  3. object IntVector
  4. object IntVectorFactory extends VectorFactory[Int]
  5. object MatrixFactory
  6. object NumericByteVectorFactory extends VectorFactory[Byte]
  7. object NumericCharVectorFactory extends VectorFactory[Char]
  8. object NumericDoubleVectorFactory extends VectorFactory[Double]
  9. object NumericFloatVectorFactory extends VectorFactory[Float]
  10. object NumericIntVectorFactory extends VectorFactory[Int]
  11. object NumericLongVectorFactory extends VectorFactory[Long]
  12. object NumericShortVectorFactory extends VectorFactory[Short]
  13. object NumericVector
  14. object RowMatrix
  15. object RowMatrixFactory extends MatrixFactory
  16. object SparseDoubleVector
  17. object SparseIntVector
  18. object SparseNumericVector
  19. object SparseRowMatrix
  20. object VectorFactory

    Creates vector instances by concrete factories depending on the derived element type..

    Creates vector instances by concrete factories depending on the derived element type..

    Currently, all standard numeric element types are supported. All others will cause an exception to be thrown as long as no additional mappings are registered using the register facility.

Inherited from AnyRef

Inherited from Any

Ungrouped