sinkhorn_task: Matrix balancing problem

View source: R/sinkhorn_task.R

sinkhorn_taskR Documentation

Matrix balancing problem

Description

A function that will generate the task list that can be used to benchmark acceleration of Sinkhorn iteration in Matrix balancing problem

Usage

sinkhorn_task(mat = "Marshall_Olkin", order = 20)

Arguments

mat

Matrix to balancing. Can be a matrix or character name "Hessenberg" or "Marshall_Olkin" for specific matrices with those names.

order

Order of the matrix. Only meaningful when mat argument is "Hessenberg"

Value

A list containing all components needed for benchmarking the problem

initfn

Parameter random initializing function

fixptfn

Updating function for the fixed point iteration problem

objfn

Function calculating the objective value for current parameter

...

Other arguments required in functions above

References

Sinkhorn R, Knopp P (1967). Concerning nonnegative matrices and doubly stochastic matrices. Pacific Journal of Mathematics, 21(2): 343–348.

Parlett B, Landis TL (1982). Methods for scaling to doubly stochastic form. Linear Algebra and its Applications, 48: 53–79

Examples

## Not run: 
set.seed(54321)
problem = sinkhorn_task(mat="Hessenberg", order=25)
benchmark(
  problem,
  algorithm=c("raw", "squarem", "daarem", "pem", "qn", "nes"),
  ntimes = 200
)

## End(Not run)


bhtang127/AccelBenchmark documentation built on May 30, 2022, 2:21 a.m.