This function runs the optimization on both the input matrix `m` and its negative counterpart `m * (-1)`, returning the result that maximizes the sum `sum(m * I)`.

indicator_opt_both_ways(m, verbose = FALSE)

Arguments

m

A numeric matrix for which the optimization will be performed.

verbose

Logical. If TRUE, reports the objective value and convergence progress at each iteration.

Value

m*I

Examples

set.seed(123)
m <- matrix(rnorm(500), nrow = 5)
indicator_opt_both_ways(m)
#>          [,1]     [,2]     [,3]      [,4]      [,5] [,6] [,7] [,8] [,9] [,10]
#> [1,] 0.000000 2.941448 0.000000 0.0000000 0.0000000    0    0    0    0     0
#> [2,] 0.000000 0.000000 0.129466 0.0000000 0.0000000    0    0    0    0     0
#> [3,] 2.429572 0.000000 0.000000 0.0000000 0.0000000    0    0    0    0     0
#> [4,] 0.000000 0.000000 0.000000 0.4919001 0.0000000    0    0    0    0     0
#> [5,] 0.000000 0.000000 0.000000 0.0000000 0.3906741    0    0    0    0     0
#>      [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22]
#> [1,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [2,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [3,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [4,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [5,]     0     0     0     0     0     0     0     0     0     0     0     0
#>      [,23] [,24] [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34]
#> [1,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [2,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [3,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [4,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [5,]     0     0     0     0     0     0     0     0     0     0     0     0
#>      [,35] [,36] [,37] [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46]
#> [1,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [2,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [3,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [4,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [5,]     0     0     0     0     0     0     0     0     0     0     0     0
#>      [,47] [,48] [,49] [,50] [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58]
#> [1,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [2,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [3,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [4,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [5,]     0     0     0     0     0     0     0     0     0     0     0     0
#>      [,59] [,60] [,61] [,62] [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70]
#> [1,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [2,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [3,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [4,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [5,]     0     0     0     0     0     0     0     0     0     0     0     0
#>      [,71] [,72] [,73] [,74] [,75] [,76] [,77] [,78] [,79] [,80] [,81] [,82]
#> [1,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [2,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [3,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [4,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [5,]     0     0     0     0     0     0     0     0     0     0     0     0
#>      [,83] [,84] [,85] [,86] [,87] [,88] [,89] [,90] [,91] [,92] [,93] [,94]
#> [1,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [2,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [3,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [4,]     0     0     0     0     0     0     0     0     0     0     0     0
#> [5,]     0     0     0     0     0     0     0     0     0     0     0     0
#>      [,95] [,96] [,97] [,98] [,99] [,100]
#> [1,]     0     0     0     0     0      0
#> [2,]     0     0     0     0     0      0
#> [3,]     0     0     0     0     0      0
#> [4,]     0     0     0     0     0      0
#> [5,]     0     0     0     0     0      0