Kernel Quantum Probability Library
The KQP library aims at providing tools for working with quantums probabilities
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
kqp::KernelOperator< Scalar > Class Template Reference

#include <probabilities.hpp>

Inheritance diagram for kqp::KernelOperator< Scalar >:
kqp::Density< Scalar > kqp::Event< Scalar >

Public Member Functions

 KQP_SCALAR_TYPEDEFS (Scalar)
 
 KernelOperator (const KernelEVD< Scalar > &evd)
 
 KernelOperator (const Decomposition< Scalar > &d)
 
 KernelOperator (const FSpaceCPtr &fs, const FMatrixCPtr &mX, const ScalarAltMatrix &mY, const RealVector &mS, bool orthonormal)
 Creates a new kernel operator.
 
void trim (Index newRank)
 
Index getRank () const
 
const FSpaceBase & fs () const
 Get the feature space.
 
const FMatrixBase & X () const
 Get the feature matrix.
 
const ScalarAltMatrix & Y () const
 
const RealAltVector & S () const
 
void orthonormalize () const
 
bool isOrthonormal () const
 
Real squaredNorm ()
 
ScalarMatrix inners (const KernelOperator< Scalar > &that) const
 Compute the inner products of the scaled basis of the operators.
 
FMatrixPtr matrix () const
 Get the matrix corresponding to the decomposition.
 

Protected Member Functions

void _orthonormalize ()
 Orthonormalize the decomposition (non const version)
 

Protected Attributes

Decomposition< Scalar > m_operator
 The current decomposition.
 

Friends

class Density< Scalar >
 
class Event< Scalar >
 

Detailed Description

template<typename Scalar>
class kqp::KernelOperator< Scalar >

Common class shared by (fuzzy) events and densities

The underlying density/subspace is represented by

such as A X is usually (i.e. AXXTAT is the identity), and the density rho is expressed as

rho = A U S2 UT AT
Date
May 2011
Author
B. Piwowarski benja.nosp@m.min@.nosp@m.bpiwo.nosp@m.war..nosp@m.net

Constructor & Destructor Documentation

template<typename Scalar>
kqp::KernelOperator< Scalar >::KernelOperator ( const KernelEVD< Scalar > &  evd)
inline

Creates an object given a Kernel EVD

Parameters
evdThe kernel EVD
template<typename Scalar>
kqp::KernelOperator< Scalar >::KernelOperator ( const Decomposition< Scalar > &  d)
inline

Creates an object given a decomposition

Parameters
evdThe decomposition (in orthonomormal form)
takeSqrtTakes the square root of the eigen values

Member Function Documentation

template<typename Scalar>
Index kqp::KernelOperator< Scalar >::getRank ( ) const
inline

Get the rank of the operator

template<typename Scalar>
ScalarMatrix kqp::KernelOperator< Scalar >::inners ( const KernelOperator< Scalar > &  that) const
inline

Compute the inner products of the scaled basis of the operators.

Parameters
thatThe other operator
Returns
A matrix where each row correspond to one dimension of the density, and each column to one dimension of the subspace
template<typename Scalar>
FMatrixPtr kqp::KernelOperator< Scalar >::matrix ( ) const
inline

Get the matrix corresponding to the decomposition.

Exceptions
Anexception if the feature matrix cannot be linearly combined
template<typename Scalar>
Real kqp::KernelOperator< Scalar >::squaredNorm ( )
inline

Compute the squared norm of the operator

template<typename Scalar>
void kqp::KernelOperator< Scalar >::trim ( Index  newRank)
inline

Trim the eigenvalue decomposition to a lower rank. If the rank is already lower, don't do anything.

Parameters
newRankThe new rank of the subspace

The documentation for this class was generated from the following file: