Density and random generation for the compound truncated Poisson complex Wishart (CTPCW) and compound geometric complex Wishart (CGCW) laws (Ferreira, Nascimento and Frery, 2022). They describe the PolSAR return as a random sum \(S = \sum_{i=1}^N Z_i\) of independent (unscaled) complex Wishart matrices \(Z_i \sim \mathcal{W}^C_m(\Sigma, L)\) with \(E(Z_i) = L\Sigma\), where the number of scatterers \(N\) follows a zero-truncated Poisson law with mean parameter \(\lambda\) (CTPCW) or a geometric law on \(\{1, 2, \ldots\}\) with success probability \(p\) (CGCW). Their densities are $$f(S) = \sum_{k=1}^{\infty} P(N = k) \frac{|S|^{kL - m}}{|\Sigma|^{kL}\Gamma_m(kL)} \exp\{-\mathrm{tr}(\Sigma^{-1}S)\},$$ which are able to describe multimodal intensities. The series is evaluated in log-scale and truncated when the terms become negligible.
Arguments
- x
PolSAR observations: a complex array
m x m x n, a single Hermitian matrix or ann x m(m+1)/2matrix (seeas_polsar_vec()).- lambda
Mean parameter of the zero-truncated Poisson law (\(\lambda > 0\)).
- Sigma
Hermitian positive definite
m x mmatrix (the mean).- L
Number of looks of each Wishart component (\(L > m - 1\)).
- log
Logical; if
TRUEthe log-density is returned.- kmax
Maximum number of terms of the series.
- n
Number of observations.
- output
Format of the generated sample:
"array"(m x m x n) or"vec"(n x m(m+1)/2).- p
Success probability of the geometric law (\(0 < p < 1\)).
Value
dctpcw()/dcgcw() return (log-)densities; rctpcw()/rcgcw()
return the simulated sample, with the simulated numbers of components in
the attribute "N".
References
Ferreira, J. A., Nascimento, A. D. C. and Frery, A. C. (2022). PolSAR models with multimodal intensities. Remote Sensing, 14(20), 5083. doi:10.3390/rs14205083
See also
CompoundWishart for the R6 interface and EM estimation.
Examples
Sigma <- polsar_example_sigma("forest")
set.seed(1)
S <- rctpcw(3, lambda = 2, Sigma = Sigma, L = 4)
attr(S, "N")
#> [1] 1 2 2
dctpcw(S, lambda = 2, Sigma = Sigma, L = 4, log = TRUE)
#> [1] -4.110388 -2.837832 -3.709631
S2 <- rcgcw(3, p = 0.6, Sigma = Sigma, L = 4)
dcgcw(S2, p = 0.6, Sigma = Sigma, L = 4, log = TRUE)
#> [1] -7.2704475 -0.7213841 -6.2591386
