The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
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[@]dogado.de.

Type: Package
Title: Fast Implementation of the Iterative Proportional Fitting Procedure in C
Version: 1.0.2
Author: Alexander W Blocker
Maintainer: Alexander W Blocker <ablocker@gmail.com>
Description: A fast (C) implementation of the iterative proportional fitting procedure.
License: Apache License (== 2.0)
LazyLoad: yes
URL: https://github.com/awblocker/ipfp
RoxygenNote: 7.1.2
NeedsCompilation: yes
Packaged: 2022-05-04 18:34:18 UTC; rstudio
Repository: CRAN
Date/Publication: 2022-05-05 06:50:05 UTC

Function to run IPFP (iterative proportional fitting procedure)

Description

Use IPFP starting from x0 to produce vector x s.t. Ax = y within tolerance. Need to ensure that x0 > 0.

Usage

ipfp(
  y,
  A,
  x0,
  tol = sqrt(.Machine$double.eps),
  maxit = 1000,
  verbose = FALSE,
  full = FALSE
)

Arguments

y

numeric constraint vector (length nrow)

A

constraint matrix (nrow x ncol)

x0

numeric initial vector (length ncol)

tol

numeric tolerance for IPFP; defaults to sqrt(.Machine$double.eps)

maxit

integer maximum number of iterations for IPFP; defaults to 1e3

verbose

logical parameter to select verbose output from C function

full

logical parameter to select full return (with diagnostic info)

Value

if not full, a vector of length ncol containing solution obtained by IPFP. If full, a list containing solution (as x), the number of iterations (as iter), and the L2 norm of Ax - y (as errNorm)

Examples

A <- matrix(c(1,0,0, 1,0,0, 0,1,0, 0,1,0, 0,0,1), nrow=3)
x <- rgamma(ncol(A), 10, 1/100)
y <- A %*% x
x0 <- x * rgamma(length(x), 10, 10)
ans <- ipfp(y, A, x0, full=TRUE)
print(ans)
print(x)

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.
Health stats visible at Monitor.