Packages

case class DiscreteLowRankGaussianProcess[D, DDomain[DD] <: DiscreteDomain[DD], Value] extends DiscreteGaussianProcess[D, DDomain, Value] with Product with Serializable

Represents a low-rank gaussian process, that is only defined at a finite, discrete set of points. It supports the same operations as the LowRankGaussianProcess class, but always returns instead a discrete representation. Furthermore, most operations are much more efficient, as they are implemented using fast matrix/vector operations.

Where the modeled functions in a LowRankGaussianProcess are of type Point[D]=>Vector[D], this discretized version is of type VectorPointData.

It is possible to convert a DiscreteLowRankGaussianProcess to a LowRankGaussianProcess by calling the interpolation method.

Self Type
DiscreteLowRankGaussianProcess[D, DDomain, Value]
See also

scalismo.common.DiscreteField

DiscreteLowRankGaussianProcess

Linear Supertypes
Serializable, Product, Equals, DiscreteGaussianProcess[D, DDomain, Value], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DiscreteLowRankGaussianProcess
  2. Serializable
  3. Product
  4. Equals
  5. DiscreteGaussianProcess
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val _domain: DDomain[D]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. val basisMatrix: DenseMatrix[Double]
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. def coefficients(s: DiscreteField[D, DDomain, Value]): DenseVector[Double]

    Discrete version of Vector[DO], Double)])

  9. val cov: DiscreteMatrixValuedPDKernel[D]
    Definition Classes
    DiscreteGaussianProcess
  10. val domain: DDomain[D]
    Definition Classes
    DiscreteGaussianProcess
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def instance(c: DenseVector[Double]): DiscreteField[D, DDomain, Value]

    Discrete version of DiscreteLowRankGaussianProcess.instance

  15. def instanceAtPoint(c: DenseVector[Double], pid: PointId): Value

    Get instance at a specific point

  16. def instanceVector(alpha: DenseVector[Double]): DenseVector[Double]
    Attributes
    protected[statisticalmodel]
  17. def instanceVectorAtPoint(alpha: DenseVector[Double], pid: PointId): DenseVector[Double]
    Attributes
    protected[statisticalmodel]
  18. def interpolate(interpolator: FieldInterpolator[D, DDomain, Value]): LowRankGaussianProcess[D, Value]

    Interpolates the gaussian process using the given interpolator.

    Interpolates the gaussian process using the given interpolator. Interpolation is achieved by interoplating the mean and eigenfunctions using the given interpolator.

    interpolator

    the interpolator used to interpolate the mean and eigenfunctions

    returns

    a (continuous) low-rank Gaussian process

    Definition Classes
    DiscreteLowRankGaussianProcessDiscreteGaussianProcess
  19. def interpolateNystrom(nNystromPoints: Int = 2 * rank)(implicit rand: Random): LowRankGaussianProcess[D, Value]

    Interpolates discrete Gaussian process to have a new, continuous representation as a DiscreteLowRankGaussianProcess.

    Interpolates discrete Gaussian process to have a new, continuous representation as a DiscreteLowRankGaussianProcess. This is achieved by using a Nystrom method for computing the kl basis. The mean function is currently interpolated using a nearest neighbor approach.

    nNystromPoints

    determines how many points of the domain are used to estimate the full kl basis.

  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def klBasis: KLBasis[D, DDomain, Value]

    Returns the variance and associated basis function that defines the process.

    Returns the variance and associated basis function that defines the process. The basis is the (discretized) Karhunen Loeve basis (e.g. it is obtained from a Mercer's decomposition of the covariance function

  22. def logpdf(instance: DiscreteField[D, DDomain, Value]): Double

    Returns the log of the probability density of the instance

    Returns the log of the probability density of the instance

    If you are interested in ordinal comparisons of PDFs, use this as it is numerically more stable

    Definition Classes
    DiscreteLowRankGaussianProcessDiscreteGaussianProcess
  23. def logpdf(coefficients: DenseVector[Double]): Double

    Returns the log of the probability density of the instance produced by the x coefficients.

    Returns the log of the probability density of the instance produced by the x coefficients.

    If you are interested in ordinal comparisons of PDFs, use this as it is numerically more stable

  24. def marginal(pointIds: Seq[PointId])(implicit domainCreator: Create[D]): DiscreteLowRankGaussianProcess[D, UnstructuredPointsDomain, Value]

    The marginal distribution for the points specified by the given point ids.

    The marginal distribution for the points specified by the given point ids. Note that this is again a DiscreteGaussianProcess.

    Definition Classes
    DiscreteLowRankGaussianProcessDiscreteGaussianProcess
  25. def marginal(pointId: PointId): MultivariateNormalDistribution

    The marginal distribution at a given (single) point, specified by the pointId.

    The marginal distribution at a given (single) point, specified by the pointId.

    Definition Classes
    DiscreteGaussianProcess
  26. val mean: DiscreteField[D, DDomain, Value]
    Definition Classes
    DiscreteGaussianProcess
  27. val meanVector: DenseVector[Double]
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  31. val outputDim: Int
    Definition Classes
    DiscreteGaussianProcess
  32. def pdf(instance: DiscreteField[D, DDomain, Value]): Double

    Returns the probability density of the given instance

    Returns the probability density of the given instance

    Definition Classes
    DiscreteLowRankGaussianProcessDiscreteGaussianProcess
  33. def pdf(coefficients: DenseVector[Double]): Double

    Returns the probability density of the instance produced by the x coefficients

  34. def posterior(trainingData: IndexedSeq[(PointId, Value, MultivariateNormalDistribution)]): DiscreteLowRankGaussianProcess[D, DDomain, Value]

    Discrete version of Vector[DO], Double)]).

    Discrete version of Vector[DO], Double)]). In contrast to this method, the points for the training data are defined by the pointId. The returned posterior process is defined at the same points.

  35. def posterior(trainingData: IndexedSeq[(PointId, Value)], sigma2: Double): DiscreteLowRankGaussianProcess[D, DDomain, Value]

    Discrete version of Vector[DO])], sigma2: Double.

    Discrete version of Vector[DO])], sigma2: Double. In contrast to this method, the points for the training data are defined by the pointId. The returned posterior process is defined at the same points.

  36. def productElementNames: Iterator[String]
    Definition Classes
    Product
  37. def project(s: DiscreteField[D, DDomain, Value]): DiscreteField[D, DDomain, Value]

    Discrete version of Vector[DO])], Double)

    Discrete version of Vector[DO])], Double)

    Definition Classes
    DiscreteLowRankGaussianProcessDiscreteGaussianProcess
  38. val rank: Int

    See DiscreteLowRankGaussianProcess.rank

  39. def sample()(implicit random: Random): DiscreteField[D, DDomain, Value]

    Discrete version of DiscreteLowRankGaussianProcess.sample

  40. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  41. def truncate(rank: Int): DiscreteLowRankGaussianProcess[D, DDomain, Value]

    Returns a reduced rank model, using only the leading basis function of the Karhunen-loeve expansion.

  42. val variance: DenseVector[Double]
  43. implicit val vectorizer: Vectorizer[Value]
  44. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  45. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  46. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def interpolateNearestNeighbor: LowRankGaussianProcess[D, Value]

    Interpolates discrete Gaussian process to have a new, continuous representation as a DiscreteLowRankGaussianProcess, using nearest neigbor interpolation (for both mean and covariance function)

    Interpolates discrete Gaussian process to have a new, continuous representation as a DiscreteLowRankGaussianProcess, using nearest neigbor interpolation (for both mean and covariance function)

    Definition Classes
    DiscreteLowRankGaussianProcessDiscreteGaussianProcess
    Annotations
    @deprecated
    Deprecated

    (Since version 0.16) please use the interpolate method with a NearestNeighborInterpolator instead

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from DiscreteGaussianProcess[D, DDomain, Value]

Inherited from AnyRef

Inherited from Any

Ungrouped