close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 18 years ago

Closed 17 years ago

#512 closed enhancement (fixed)

Description of GibbsConstrainedMNormal

Reported by: Víctor de Buen Remiro Owned by: Jorge
Priority: highest Milestone:
Component: Various Version: head
Severity: minor Keywords:
Cc:

Description

La descripción de la función GibbsConstrainedMNormal es algo inexacta e incompleta. Propong oque se cambie por algo así:

Matrix GibbsConstrainedMNormal(Matrix mu, Anything SIGMA, Matrix B, Matrix b [, Real s2=1.0, Real size=100, Real burning=3, Matrix X0=0])

Genera una cadena de Markov para una multinormal truncada por un sistema de desigualdades lineales, todo ello definido en virtud de los argumentos que a continuación se detallan:

1) El argumento 'mu' es la media de la distribución normal previa al truncamiento.

2) La matriz de covarianzas se puede especificarse en diversas formas mediante el argumento polimórfico SIGMA :

Matrix SIGMA: internamente se usa cholesky para descomponer la matriz de covarianzas COV = s2*SIGMA
Text "FULL_CHOL" Matrix SIGMA ? : iternamente se usa cholesky para descomponer la matriz, es similar a dar solo Matrix SIGMA
Text "FACT_CHOL" Matrix L ? : se asume que 1/s2 * SIGMA = L*L siendo L una matriz triangular inferior'
Text "FACT_ICHOL" Matrix L ? : se asume que s2 * SIGMA-1 = L*L siendo L una matriz triangular inferior'
Text "FULL_SVD" Matrix SIGMA ? : se usa SVD internamente para descomponer COV
Text "FACT_SVD" Set svd=[[V,D,V? ]] : se asume que 1/s2 * SIGMA = V*D
2*V siendo V una matriz ortogonal y D diagonal'
Text "FACT_ISVD" Set svd=[[V,D,V? ]] : se asume que s2 * SIGMA-1 = V*D2*V siendo V una matriz ortogonal y D diagonal
Text "DIAG", Matrix D ? : se asume que SIGMA es una matriz diagonal siendo D un vector columna con los elementos de la diagonal de SIGMA.

El conjunto svd contiene dos veces la matriz V de forma claramente redundante pero se usa así por comodidad ya que es lo que devuelve la función SVD (Singular Value Decomposition), que en el caso de matrices simétricas coincide con la descomposición de Jordan que es lo que se necesita realmente pero que no está implementada explícitamente en TOL.

3) El argumento 'B' es la matriz de coeficientes de las restricciones de desigualdad B*x <= b
4) El argumento 'b' es la matriz de frontera de las restricciones de desigualdad B*x <= b
5) El argumento opcional 's2' se identifica a veces con la varianza, pero en principio es simplemente es un escalar que multiplica al argumento dado en SIGMA
6) El argumento opcional 'size' indica el tamaño de la cadena.
7) El argumento opcional 'burning' indica el número de simulaciones que se deben hacer antes de comenzar a retener las 'size' requeridas.
8) El argumento opcional 'X0' indica el punto de partida de la cadena de Markov.

También hago notar que faltan las correspondientes transformaciones triangulares superiores, aunque si nadie las hecha en falta no es una tarea prioritaria como es lógico.

Text "FACT_CHOL_U" Matrix U ? : se asume que 1/s2 * SIGMA = U*U siendo U una matriz triangular superior'
Text "FACT_ICHOL_U" Matrix U ? : se asume que s2 * SIGMA-1 = U*U siendo U una matriz triangular superior'

Change History (4)

comment:1 Changed 18 years ago by Víctor de Buen Remiro

Owner: changed from danirus to Jorge

comment:2 Changed 18 years ago by Víctor de Buen Remiro

Lo anterior era pensando que el comportamiento del caso SVD era ese, pero por lo visto el comportamiento es este otro

Text "FACT_SVD" Set svd=[[D,V? ]] : se asume que 1/s2 * SIGMA =

V*D2*V siendo V una matriz ortogonal y D diagonal'

Text "FACT_ISVD" Set svd=[[D,V? ]] : se asume que s2 * SIGMA-1 =

V*D2*V siendo V una matriz ortogonal y D diagonal

y sobra el comentario sobre la SVD

comment:3 Changed 18 years ago by Jorge

Status: newassigned

trabajando en ello, solo una puntualizacion:

por que no Text "FACT_SVD", Matrix V, Matrix D ?, que es tal y como está ahora implementado?

comment:4 Changed 17 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.