The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
plot.sshist_2d(): the default plot title was built with
a Unicode multiplication sign (U+00D7). On devices using PDF-family
encodings (e.g. pdf(), which R CMD check uses
for its examples and tests) this aborted with
conversion failure on '...' in 'mbcsToSbcs'. The title now
uses an ASCII x, so plot() works on all
graphics devices. This removes the only ERROR reported by
R CMD check.inst/WORDLIST: added the package’s technical vocabulary
(MVFFT, logexp, optimisation,
parallelization, frontmatter,
pts) and dropped stale entries (getOption,
typographic-apostrophe variants of Abramson,
Diaconis, Sturges, Colour).
spelling::spell_check_package() now reports no typos.ssvkernel(): replaced
max(256, min(raw_points, 1000)) grid formula with
min(ceil(T/dt_samp), 1000) to match the original
Python/MATLAB reference. This fixes an overly fine evaluation grid
(e.g. 256 → 53 points for Old Faithful waiting data) that produced a
different cost landscape and altered bandwidth estimates.sskernel()
/ sskernel2d() — bandwidth optimizationcompute_sskernel2d_cost_cpp,
get_tau_bounds_cpp, compute_kde2d_cpp),
handling isotropic Gaussian kernels with internal data
standardization.ssvkernel() — gamma
optimizationncores parameter.Boxcar/Gauss/Laplace/Cauchy)
ported from R to C++ inline functions, verified against Python/MATLAB
reference with max_err ≤ 5.55e-17.sskernel()
/ sskernel2d() / ssvkernel() —
infrastructurelogexp() / ilogexp() helpers extracted to
common.R for the log-exp transformation required by golden
section search.boxcar/laplace/cauchy/gauss)
unified as C++ inline functions in sshist_algo.cpp,
replacing separate R implementations.R/ssvkernel.R: removed CostFunction()
(dead code after C++ port of gamma optimization).R/common.R: removed kernel_boxcar(),
kernel_laplace(), kernel_cauchy(),
kernel_gauss() (replaced by C++ inline functions).R/sskernel.R: removed Rcpp export of
test_kernels_cpp (was used only for kernel verification
during development).README.Rmd / README.md: High Performance
bullet updated to reflect C++/OpenMP multi-start gamma optimisation and
2D kernel cost evaluation.vignettes/introduction.Rmd: ncores
description now covers gamma optimisation (ssvkernel) and 2D kernel cost
evaluation (sskernel2d); sskernel/sskernel2d descriptions mention
two-stage grid + golden section search.man/sskernel2d.Rd / sskernel.Rd:
description and parameters updated for the two-stage bandwidth
search.test-ssvkernel.R for the
corrected grid formula (53 instead of 256 points for waiting data) and
new gamma optimisation algorithm.test-sskernel_2d.R and
test-ssvkernel_2d.R following golden section refinement in
sskernel2d (changed pilot bandwidths and lambda factors).plot.sshist(): added freq = FALSE to
histogram call so the plot correctly displays density instead of
frequency.ssvkernel(): replaced iterative FFT smoothing with
frequency-domain windowing using mvfft, reducing O(M²) FFT
calls to O(M) matrix operations.ssvkernel(): vectorized which.min lookups
and precomputed distance matrices for cost evaluation.ssvkernel() CostFunction: fully vectorized
local bandwidth selection, replacing the for (k in 1:L)
loop with max.col and matrix operations.ssvkernel(): removed unnecessary t()
transpose in MVFFT slicing and unused weight_fun()
helper.common.R: fixed edge case in fftkernel_1d
where Lmax could be zero, ensured max(1, ...)
guard.plot.sshist(): redesigned data display — jittered
points and rug now sit in a reserved negative-y strip below the
histogram bars (to avoid overlap).plot.sskernel() and plot.ssvkernel(): same
reserved-strip approach for consistent look across all plot
methods.\cr from \describe{} in
package documentation, fixing “LaTeX Error: There’s no line here to
end.”OpenMP and backends in DESCRIPTION
to avoid spelling NOTE on CRAN.output: github_document) from
README.Rmd and README.md.sskernel() for optimal 1D fixed-bandwidth kernel
density estimation.sskernel2d() for optimal 2D fixed-bandwidth
kernel density estimation.ssvkernel() for locally adaptive 1D kernel
density estimation (Shimazaki & Shinomoto 2010).ssvkernel2d() for locally adaptive 2D kernel
density estimation (Abramson’s method).ncores parameter to sshist() for
multithreaded computation.sshist() with cleaner exhaustive search
logic, exactly matching the original Python/MATLAB reference
algorithms.N_max = Range / (2 * Min_Resolution).sshist.R,
sskernel.R, ssvkernel.R,
common.R.Config/roxygen2/version
format.cost and n_tested fields from
sshist return value (simplified output).get_tau_bounds_cpp,
compute_sskernel2d_cost_cpp,
compute_pilot_density_cpp,
compute_kde2d_cpp.N_max = Range / (2 * Min_Resolution) to prevent the “comb
effect” (sampling artifacts). This change aligns the R implementation
with the author’s reference code.n_max parameter in sshist() is now
strictly bounded by the resolution limit to prevent overfitting.DESCRIPTION file.faithful dataset examples in
README.md to reflect the corrected optimal bin calculations
(N changed from 37 to 21).README.md.README.md to include the
original toolboxes and GitHub repositories from the algorithm’s
authors.\value tags to all exported S3 method
documentation filespar()
settingsinvisible(x) return statements to
print.sshist() and print.sshist_2d()
methodssshist() for 1D optimization (C++
optimized).sshist_2d() for 2D optimization.ggplot2 integration in examples.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.