tests/testthat/test_bases.R

test_that("test for orthonormality of discrete basis std", {
  X=c("A","B","C")
  rmd = ReferenceMeasureDiscrete(X)
  basis = BayesSpaceBasis(rmd)
  SIGMA = scalarProductOfLogDensities(basis,basis,rmd)
  expect_equal(c(basis$A %*% rmd$w),rep(0,nrow(basis$A)),tolerance=1E-14)
  expect_lt(sum(abs(SIGMA-diag(2))),1E-14)
})


test_that("test for orthonormality of discrete basis weighted", {
  X=c("A","B","C")
  rmd = ReferenceMeasureDiscrete(X,c(0.2,0.3,0.5))
  basis = BayesSpaceBasis(rmd)
  SIGMA = scalarProductOfLogDensities(basis,basis,rmd)
  expect_equal(c(basis$A %*% rmd$w),rep(0,nrow(basis$A)),tolerance=1E-14)
  expect_lt(sum(abs(SIGMA-diag(2))),1E-14)
})

test_that("test for orthonormality of discrete basis weighted 2", {
  X=c("A","B")
  rmd = ReferenceMeasureDiscrete(X,c(0.2,0.3))
  basis = BayesSpaceBasis(rmd)
  SIGMA = scalarProductOfLogDensities(basis,basis,rmd)
  expect_lt(sum(abs(SIGMA-1)),1E-14)
  expect_equal(c(basis$A %*% rmd$w),rep(0,nrow(basis$A)),tolerance=1E-14)
})


test_that("test for orthonormality of discrete basis weighted long", {
  X=c("A","B","C","D","E")
  rmd = ReferenceMeasureDiscrete(X,c(0.2,0.3,0.5,pi,exp(1)))
  basis = BayesSpaceBasis(rmd)
  SIGMA = scalarProductOfLogDensities(basis,basis,rmd)
  expect_equal(c(basis$A %*% rmd$w),rep(0,nrow(basis$A)),tolerance=1E-14)
  expect_lt(sum(abs(SIGMA-diag(4))),1E-14)
})

Try the DistributionalDDA package in your browser

Any scripts or data that you put into this service are public.

DistributionalDDA documentation built on Oct. 20, 2026, 5:06 p.m.