R/214_reductions_dgp2dcp_canonicalizers_one_minus_pos_canon.R

Defines functions .dgp_one_minus_pos_canon

#####
## DO NOT EDIT THIS FILE!! EDIT THE SOURCE INSTEAD: rsrc_tree/reductions/dgp2dcp/canonicalizers/one_minus_pos_canon.R
#####

## CVXPY SOURCE: reductions/dgp2dcp/canonicalizers/one_minus_pos_canon.py
## DGP canonicalizer for OneMInusPos: 1-x -> log(1 - exp(u)) where u = log(x)
## In log-space: args[[1]] = log(x), so x = exp(args[[1]])
## Result: log(1 - exp(args[[1]])) = log(ones - exp(args[[1]]))

.dgp_one_minus_pos_canon <- function(expr, args) {
  ones <- Constant(matrix(1, nrow = expr@shape[1L], ncol = expr@shape[2L]))
  result <- Log(ones - Exp(args[[1L]]))
  list(result, list())
}

Try the CVXR package in your browser

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

CVXR documentation built on March 6, 2026, 9:10 a.m.