The (sub/super)-gradient of the expression with respect to each variable.
Matrix expressions are vectorized, so the gradient is a matrix. NA
indicates variable values are unknown or outside the domain.
grad(object)
An Expression object.
A list mapping each variable to a sparse matrix.
x <- Variable(2, name = "x")
A <- Variable(2, 2, name = "A")
value(x) <- c(-3,4)
expr <- p_norm(x, 2)
grad(expr)
#> $`1530`
#> 2 x 1 sparse Matrix of class "dgCMatrix"
#>
#> [1,] -0.6
#> [2,] 0.8
#>
value(A) <- rbind(c(3,-4), c(4,3))
expr <- p_norm(A, 0.5)
grad(expr)
#> $`1531`
#> [1] NA
#>
value(A) <- cbind(c(1,2), c(-1,0))
expr <- abs(A)
grad(expr)
#> $`1531`
#> 4 x 4 sparse Matrix of class "dgCMatrix"
#>
#> [1,] 1 . . .
#> [2,] . 1 . .
#> [3,] . . -1 .
#> [4,] . . . 0
#>