diff --git a/Project.toml b/Project.toml index a6a0ced..840bb96 100644 --- a/Project.toml +++ b/Project.toml @@ -7,4 +7,5 @@ version = "0.1.0" SDPLR_jll = "3a057b76-36a0-51f0-a66f-6d580b8e8efd" [compat] +SDPLR_jll = "100.1.300" julia = "1.6" diff --git a/src/SDPLR.jl b/src/SDPLR.jl index 125406a..fe2213e 100644 --- a/src/SDPLR.jl +++ b/src/SDPLR.jl @@ -6,4 +6,75 @@ function solve_sdpa_file(file) return run(`$(SDPLR_jll.sdplr()) $file`) end +function solve( + blksz::Vector{Cptrdiff_t}, + blktype::Vector{Cchar}, + b::Vector{Cdouble}, + CAent::Vector{Cdouble}, + CArow::Vector{Csize_t}, + CAcol::Vector{Csize_t}, + CAinfo_entptr::Vector{Csize_t}, + CAinfo_type::Vector{Cchar}, + numbfgsvecs::Integer, + rho_f::Cdouble, + rho_c::Cdouble, + sigmafac::Cdouble, + rankreduce::Integer, + gaptol::Cdouble, + checkbd::Integer, + typebd::Integer, + dthresh_dim::Integer, + dthresh_dens::Cdouble, + timelim::Integer, + rankredtol::Cdouble, + printlevel::Integer, + R::Vector{Cdouble}, + lambda::Vector{Cdouble}, + maxranks::Vector{Csize_t}, + ranks::Vector{Csize_t}, + pieces::Vector{Cdouble}, +) + numblk = length(blksz) + @assert length(blktype) == numblk + m = length(b) + @assert length(CAinfo_entptr) == (m + 1) * numblk + 1 + @assert length(CAinfo_type) == (m + 1) * numblk + @assert length(CAent) == length(CArow) == length(CAcol) + @assert length(lambda) == m + @assert length(maxranks) == numblk + @assert length(ranks) == numblk + @assert length(pieces) == 8 + ret = @ccall SDPLR.SDPLR_jll.libsdplr.sdplrlib( + m::Csize_t, + numblk::Csize_t, + blksz::Ptr{Cptrdiff_t}, + blktype::Ptr{Cchar}, + b::Ptr{Cdouble}, + CAent::Ptr{Cdouble}, + CArow::Ptr{Csize_t}, + CAcol::Ptr{Csize_t}, + CAinfo_entptr::Ptr{Csize_t}, + CAinfo_type::Ptr{Cchar}, + numbfgsvecs::Csize_t, + rho_f::Cdouble, + rho_c::Cdouble, + sigmafac::Cdouble, + rankreduce::Csize_t, + gaptol::Cdouble, + checkbd::Cptrdiff_t, + typebd::Csize_t, + dthresh_dim::Csize_t, + dthresh_dens::Cdouble, + timelim::Csize_t, + rankredtol::Cdouble, + printlevel::Csize_t, + R::Ptr{Cdouble}, + lambda::Ptr{Cdouble}, + maxranks::Ptr{Csize_t}, + ranks::Ptr{Csize_t}, + pieces::Ptr{Cdouble}, + )::Csize_t + return ret +end + end # module diff --git a/test/vibra.jl b/test/vibra.jl new file mode 100644 index 0000000..9937bbc --- /dev/null +++ b/test/vibra.jl @@ -0,0 +1,2196 @@ +using Test +import SDPLR +ct = 449 +m = 36 +numblk = 3 +blksz = Cptrdiff_t[24, 25, 36] +blktype = Cchar['s', 's', 'd'] +b = [ + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, + 1.000000, +] +CAinfo_entptr = Csize_t[ + 0, + 2, + 4, + 4, + 6, + 7, + 8, + 11, + 14, + 15, + 20, + 23, + 24, + 27, + 30, + 31, + 33, + 34, + 35, + 38, + 41, + 42, + 47, + 50, + 51, + 54, + 57, + 58, + 63, + 66, + 67, + 77, + 87, + 88, + 93, + 96, + 97, + 107, + 117, + 118, + 123, + 126, + 127, + 137, + 147, + 148, + 153, + 156, + 157, + 167, + 177, + 178, + 183, + 186, + 187, + 197, + 207, + 208, + 213, + 216, + 217, + 227, + 237, + 238, + 243, + 246, + 247, + 257, + 267, + 268, + 273, + 276, + 277, + 287, + 297, + 298, + 303, + 306, + 307, + 317, + 327, + 328, + 333, + 336, + 337, + 347, + 357, + 358, + 363, + 366, + 367, + 377, + 387, + 388, + 393, + 396, + 397, + 407, + 417, + 418, + 420, + 421, + 422, + 427, + 430, + 431, + 436, + 439, + 440, + 445, + 448, + 449, +] +CAent = Cdouble[ + -0.010000, + -0.010000, + 1.000000, + 0.500000, + -0.002500, + 0.997500, + 1.000000, + 1.000000, + 0.637500, + 0.320000, + 0.157500, + 0.640000, + 0.320000, + 0.160000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + -0.320000, + 0.157500, + 0.640000, + -0.320000, + 0.160000, + 1.000000, + -0.002500, + 0.997500, + 1.000000, + 1.000000, + 0.637500, + 0.320000, + 0.157500, + 0.640000, + 0.320000, + 0.160000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + -0.320000, + 0.157500, + 0.640000, + -0.320000, + 0.160000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.637500, + -0.320000, + -0.160000, + 0.157500, + 0.320000, + 0.637500, + 0.320000, + 0.157500, + -0.320000, + -0.640000, + 0.640000, + -0.320000, + -0.160000, + 0.160000, + 0.320000, + 0.640000, + 0.320000, + 0.160000, + -0.320000, + -0.640000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + 0.320000, + -0.160000, + 0.157500, + -0.320000, + 0.637500, + -0.320000, + 0.157500, + 0.320000, + -0.640000, + 0.640000, + 0.320000, + -0.160000, + 0.160000, + -0.320000, + 0.640000, + -0.320000, + 0.160000, + 0.320000, + -0.640000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.637500, + -0.320000, + -0.160000, + 0.157500, + 0.320000, + 0.637500, + 0.320000, + 0.157500, + -0.320000, + -0.640000, + 0.640000, + -0.320000, + -0.160000, + 0.160000, + 0.320000, + 0.640000, + 0.320000, + 0.160000, + -0.320000, + -0.640000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + 0.320000, + -0.160000, + 0.157500, + -0.320000, + 0.637500, + -0.320000, + 0.157500, + 0.320000, + -0.640000, + 0.640000, + 0.320000, + -0.160000, + 0.160000, + -0.320000, + 0.640000, + -0.320000, + 0.160000, + 0.320000, + -0.640000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.637500, + -0.320000, + -0.160000, + 0.157500, + 0.320000, + 0.637500, + 0.320000, + 0.157500, + -0.320000, + -0.640000, + 0.640000, + -0.320000, + -0.160000, + 0.160000, + 0.320000, + 0.640000, + 0.320000, + 0.160000, + -0.320000, + -0.640000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + 0.320000, + -0.160000, + 0.157500, + -0.320000, + 0.637500, + -0.320000, + 0.157500, + 0.320000, + -0.640000, + 0.640000, + 0.320000, + -0.160000, + 0.160000, + -0.320000, + 0.640000, + -0.320000, + 0.160000, + 0.320000, + -0.640000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.637500, + -0.320000, + -0.160000, + 0.157500, + 0.320000, + 0.637500, + 0.320000, + 0.157500, + -0.320000, + -0.640000, + 0.640000, + -0.320000, + -0.160000, + 0.160000, + 0.320000, + 0.640000, + 0.320000, + 0.160000, + -0.320000, + -0.640000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + 0.320000, + -0.160000, + 0.157500, + -0.320000, + 0.637500, + -0.320000, + 0.157500, + 0.320000, + -0.640000, + 0.640000, + 0.320000, + -0.160000, + 0.160000, + -0.320000, + 0.640000, + -0.320000, + 0.160000, + 0.320000, + -0.640000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.637500, + -0.320000, + -0.160000, + 0.157500, + 0.320000, + 0.637500, + 0.320000, + 0.157500, + -0.320000, + -0.640000, + 0.640000, + -0.320000, + -0.160000, + 0.160000, + 0.320000, + 0.640000, + 0.320000, + 0.160000, + -0.320000, + -0.640000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + 0.320000, + -0.160000, + 0.157500, + -0.320000, + 0.637500, + -0.320000, + 0.157500, + 0.320000, + -0.640000, + 0.640000, + 0.320000, + -0.160000, + 0.160000, + -0.320000, + 0.640000, + -0.320000, + 0.160000, + 0.320000, + -0.640000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.637500, + -0.320000, + -0.160000, + 0.157500, + 0.320000, + 0.637500, + 0.320000, + 0.157500, + -0.320000, + -0.640000, + 0.640000, + -0.320000, + -0.160000, + 0.160000, + 0.320000, + 0.640000, + 0.320000, + 0.160000, + -0.320000, + -0.640000, + 1.000000, + -4.000000, + 3.997500, + -0.002500, + -0.002500, + 3.997500, + 4.000000, + -4.000000, + 4.000000, + 1.000000, + 0.637500, + 0.320000, + -0.160000, + 0.157500, + -0.320000, + 0.637500, + -0.320000, + 0.157500, + 0.320000, + -0.640000, + 0.640000, + 0.320000, + -0.160000, + 0.160000, + -0.320000, + 0.640000, + -0.320000, + 0.160000, + 0.320000, + -0.640000, + 1.000000, + -0.002500, + 0.997500, + 1.000000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, + 0.997500, + -0.002500, + -1.000000, + 0.997500, + -0.002500, + 1.000000, + -1.000000, + 1.000000, + 1.000000, +] +CArow = Csize_t[ + 21, + 22, + 1, + 1, + 2, + 1, + 2, + 1, + 3, + 3, + 4, + 4, + 4, + 5, + 2, + 2, + 2, + 3, + 1, + 4, + 3, + 3, + 5, + 3, + 1, + 1, + 2, + 2, + 2, + 3, + 4, + 4, + 3, + 4, + 5, + 5, + 5, + 6, + 6, + 6, + 7, + 6, + 4, + 4, + 5, + 3, + 6, + 5, + 5, + 7, + 7, + 3, + 3, + 4, + 4, + 4, + 5, + 8, + 7, + 2, + 1, + 1, + 8, + 2, + 2, + 8, + 9, + 9, + 1, + 2, + 10, + 9, + 1, + 1, + 2, + 2, + 1, + 10, + 2, + 3, + 11, + 10, + 2, + 2, + 3, + 3, + 2, + 10, + 8, + 8, + 9, + 7, + 10, + 9, + 9, + 11, + 11, + 7, + 3, + 4, + 8, + 7, + 3, + 3, + 4, + 4, + 3, + 8, + 4, + 5, + 9, + 8, + 4, + 4, + 5, + 5, + 4, + 12, + 9, + 4, + 3, + 3, + 10, + 4, + 4, + 10, + 13, + 11, + 3, + 4, + 12, + 11, + 3, + 3, + 4, + 4, + 3, + 12, + 4, + 5, + 13, + 12, + 4, + 4, + 5, + 5, + 4, + 14, + 10, + 10, + 11, + 9, + 12, + 11, + 11, + 13, + 15, + 9, + 5, + 6, + 10, + 9, + 5, + 5, + 6, + 6, + 5, + 10, + 6, + 7, + 11, + 10, + 6, + 6, + 7, + 7, + 6, + 16, + 13, + 8, + 7, + 7, + 14, + 8, + 8, + 14, + 17, + 15, + 7, + 8, + 16, + 15, + 7, + 7, + 8, + 8, + 7, + 16, + 8, + 9, + 17, + 16, + 8, + 8, + 9, + 9, + 8, + 18, + 14, + 14, + 15, + 13, + 16, + 15, + 15, + 17, + 19, + 13, + 9, + 10, + 14, + 13, + 9, + 9, + 10, + 10, + 9, + 14, + 10, + 11, + 15, + 14, + 10, + 10, + 11, + 11, + 10, + 20, + 15, + 10, + 9, + 9, + 16, + 10, + 10, + 16, + 21, + 17, + 9, + 10, + 18, + 17, + 9, + 9, + 10, + 10, + 9, + 18, + 10, + 11, + 19, + 18, + 10, + 10, + 11, + 11, + 10, + 22, + 16, + 16, + 17, + 15, + 18, + 17, + 17, + 19, + 23, + 15, + 11, + 12, + 16, + 15, + 11, + 11, + 12, + 12, + 11, + 16, + 12, + 13, + 17, + 16, + 12, + 12, + 13, + 13, + 12, + 24, + 19, + 14, + 13, + 13, + 20, + 14, + 14, + 20, + 25, + 21, + 13, + 14, + 22, + 21, + 13, + 13, + 14, + 14, + 13, + 22, + 14, + 15, + 23, + 22, + 14, + 14, + 15, + 15, + 14, + 26, + 20, + 20, + 21, + 19, + 22, + 21, + 21, + 23, + 27, + 19, + 15, + 16, + 20, + 19, + 15, + 15, + 16, + 16, + 15, + 20, + 16, + 17, + 21, + 20, + 16, + 16, + 17, + 17, + 16, + 28, + 21, + 16, + 15, + 15, + 22, + 16, + 16, + 22, + 29, + 23, + 15, + 16, + 24, + 23, + 15, + 15, + 16, + 16, + 15, + 24, + 16, + 17, + 25, + 24, + 16, + 16, + 17, + 17, + 16, + 30, + 22, + 22, + 23, + 21, + 24, + 23, + 23, + 25, + 31, + 21, + 17, + 18, + 22, + 21, + 17, + 17, + 18, + 18, + 17, + 22, + 18, + 19, + 23, + 22, + 18, + 18, + 19, + 19, + 18, + 32, + 6, + 5, + 6, + 33, + 11, + 6, + 5, + 5, + 12, + 6, + 6, + 12, + 34, + 17, + 12, + 11, + 11, + 18, + 12, + 12, + 18, + 35, + 23, + 18, + 17, + 17, + 24, + 18, + 18, + 24, + 36, +] +CAcol = Csize_t[ + 21, + 22, + 22, + 1, + 2, + 1, + 2, + 1, + 3, + 4, + 4, + 4, + 5, + 5, + 2, + 4, + 2, + 3, + 1, + 4, + 3, + 5, + 5, + 3, + 1, + 2, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 4, + 5, + 5, + 6, + 6, + 6, + 7, + 7, + 6, + 6, + 4, + 5, + 3, + 6, + 5, + 7, + 7, + 7, + 3, + 4, + 4, + 4, + 5, + 5, + 8, + 7, + 2, + 7, + 1, + 8, + 2, + 8, + 8, + 9, + 9, + 10, + 10, + 10, + 10, + 1, + 2, + 2, + 9, + 9, + 10, + 11, + 11, + 11, + 11, + 2, + 3, + 3, + 10, + 10, + 10, + 10, + 8, + 9, + 7, + 10, + 9, + 11, + 11, + 11, + 7, + 8, + 8, + 8, + 8, + 3, + 4, + 4, + 7, + 7, + 8, + 9, + 9, + 9, + 9, + 4, + 5, + 5, + 8, + 8, + 12, + 9, + 4, + 9, + 3, + 10, + 4, + 10, + 10, + 13, + 11, + 12, + 12, + 12, + 12, + 3, + 4, + 4, + 11, + 11, + 12, + 13, + 13, + 13, + 13, + 4, + 5, + 5, + 12, + 12, + 14, + 12, + 10, + 11, + 9, + 12, + 11, + 13, + 13, + 15, + 9, + 10, + 10, + 10, + 10, + 5, + 6, + 6, + 9, + 9, + 10, + 11, + 11, + 11, + 11, + 6, + 7, + 7, + 10, + 10, + 16, + 13, + 8, + 13, + 7, + 14, + 8, + 14, + 14, + 17, + 15, + 16, + 16, + 16, + 16, + 7, + 8, + 8, + 15, + 15, + 16, + 17, + 17, + 17, + 17, + 8, + 9, + 9, + 16, + 16, + 18, + 16, + 14, + 15, + 13, + 16, + 15, + 17, + 17, + 19, + 13, + 14, + 14, + 14, + 14, + 9, + 10, + 10, + 13, + 13, + 14, + 15, + 15, + 15, + 15, + 10, + 11, + 11, + 14, + 14, + 20, + 15, + 10, + 15, + 9, + 16, + 10, + 16, + 16, + 21, + 17, + 18, + 18, + 18, + 18, + 9, + 10, + 10, + 17, + 17, + 18, + 19, + 19, + 19, + 19, + 10, + 11, + 11, + 18, + 18, + 22, + 18, + 16, + 17, + 15, + 18, + 17, + 19, + 19, + 23, + 15, + 16, + 16, + 16, + 16, + 11, + 12, + 12, + 15, + 15, + 16, + 17, + 17, + 17, + 17, + 12, + 13, + 13, + 16, + 16, + 24, + 19, + 14, + 19, + 13, + 20, + 14, + 20, + 20, + 25, + 21, + 22, + 22, + 22, + 22, + 13, + 14, + 14, + 21, + 21, + 22, + 23, + 23, + 23, + 23, + 14, + 15, + 15, + 22, + 22, + 26, + 22, + 20, + 21, + 19, + 22, + 21, + 23, + 23, + 27, + 19, + 20, + 20, + 20, + 20, + 15, + 16, + 16, + 19, + 19, + 20, + 21, + 21, + 21, + 21, + 16, + 17, + 17, + 20, + 20, + 28, + 21, + 16, + 21, + 15, + 22, + 16, + 22, + 22, + 29, + 23, + 24, + 24, + 24, + 24, + 15, + 16, + 16, + 23, + 23, + 24, + 25, + 25, + 25, + 25, + 16, + 17, + 17, + 24, + 24, + 30, + 24, + 22, + 23, + 21, + 24, + 23, + 25, + 25, + 31, + 21, + 22, + 22, + 22, + 22, + 17, + 18, + 18, + 21, + 21, + 22, + 23, + 23, + 23, + 23, + 18, + 19, + 19, + 22, + 22, + 32, + 6, + 5, + 6, + 33, + 11, + 6, + 11, + 5, + 12, + 6, + 12, + 12, + 34, + 17, + 12, + 17, + 11, + 18, + 12, + 18, + 18, + 35, + 23, + 18, + 23, + 17, + 24, + 18, + 24, + 24, + 36, +] +CAinfo_type = Cchar[ + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', + 's', + 's', + 'd', +] +numbfgsvecs = 4 +rho_f = 0.000010 +rho_c = 0.100000 +sigmafac = 2.000000 +rankreduce = 0 +gaptol = 0.001000 +checkbd = -1 +typebd = 1 +dthresh_dim = 10 +dthresh_dens = 0.750000 +timelim = 3600 +rankredtol = 0.000000 +printlevel = 1 +R = Cdouble[ + 0.409043, + 0.849300, + 0.716049, + 0.050392, + -0.239808, + 0.497833, + -0.175185, + 0.074342, + 0.040529, + 0.051350, + 0.450247, + -0.149381, + 0.079064, + 0.064391, + -0.136040, + 0.830741, + -0.025521, + -0.600394, + -0.501549, + 0.006896, + 0.018504, + -0.194408, + 0.155992, + 0.519439, + 0.564224, + -0.020216, + 0.426399, + 0.320978, + 0.210292, + -0.172953, + -0.787483, + -0.652744, + 0.337829, + -0.122477, + 0.196859, + 0.094923, + 0.389147, + 0.058682, + -0.219551, + -0.258340, + 0.148910, + 0.359144, + -0.448153, + 0.080772, + 0.065490, + -0.163608, + -0.434394, + 0.465003, + -0.069491, + 0.739714, + -0.773055, + 0.342731, + -0.264848, + 0.161232, + -0.020466, + -0.139725, + -0.375664, + -0.296248, + -0.100460, + -0.061678, + -0.307658, + 0.243038, + -0.041639, + 0.161382, + 0.050567, + 0.016237, + -0.264266, + 0.893604, + -0.239618, + -0.013512, + -0.042273, + -0.131641, + 0.066182, + -0.241754, + 0.356635, + -0.069248, + -0.528718, + 0.306925, + -0.118170, + 0.318512, + 0.369403, + 0.209909, + -0.306282, + 0.576023, + 0.158349, + 0.194015, + 0.409274, + -0.301861, + 0.634485, + 0.441177, + 0.152953, + 0.040097, + -0.454280, + 0.053878, + 0.815328, + 0.359947, + -0.292861, + 0.289869, + -0.326631, + -0.145043, + 0.428403, + -0.052207, + 0.111347, + 0.313132, + 0.102318, + 0.736952, + 0.126238, + -0.120494, + 0.124071, + 0.099508, + 0.305773, + 0.124131, + 0.029310, + -0.586230, + 0.279892, + -0.465604, + -0.682300, + -0.454028, + 0.128122, + 0.174878, + -0.386587, + 0.485711, + -0.311121, + -0.588391, + 0.298600, + -0.247650, + -0.029429, + 0.617285, + 0.290481, + -0.297440, + 0.299782, + -0.721331, + -0.280855, + 0.046528, + 0.683744, + 0.077708, + 0.133236, + 0.036808, + -0.071365, + 0.635065, + -0.040467, + -0.168393, + 0.263895, + 0.929985, + 0.479947, + 0.124750, + -0.130499, + -0.602789, + 0.228059, + 0.435914, + -0.334856, + -0.791040, + -0.922960, + 0.620494, + -0.305815, + -0.767091, + -0.357026, + -0.416179, + -0.486591, + -0.538754, + 0.146351, + 0.773085, + -0.010586, + 0.604497, + -0.385966, + 0.129276, + 0.554032, + 0.077557, + -0.415995, + -0.363254, + -0.046389, + -0.068093, + -0.065827, + -0.496545, + 0.029534, + 0.440938, + 0.550696, + -0.808264, + -0.615681, + -0.242418, + -0.163356, + 0.277530, + -0.774905, + 0.021747, + 0.053138, + 0.087289, + 0.528150, + -0.396666, + -0.465077, + -0.090096, + -0.928511, + -0.259659, + -0.435136, + 0.162295, + -0.271691, + -0.052464, + -0.193264, + -0.044371, + -0.419847, + 0.840930, + -0.364130, + 0.640041, + -0.052586, + 0.626342, + 0.350163, + 0.046793, + -0.112913, + 0.043837, + -0.280789, + -0.598866, + 0.126009, + 0.012473, + -0.426264, + -0.035424, + -0.054523, + -0.212819, + -0.266276, + -0.254633, + 0.670597, + 0.163475, + -0.092047, + -0.557588, + -0.002598, + 0.246991, + -0.307619, + 0.164133, + -0.003205, + -0.248864, + 0.144708, + -0.275580, + -0.478783, + -0.328468, + -0.061177, + -0.063920, + -0.211393, + -0.369820, + -0.690177, + 0.491600, + 0.558842, + 0.023839, + -0.613284, + 0.069613, + -0.635422, + -0.045958, + 0.536461, + -0.400529, + 0.190063, + 0.312620, + 0.687902, + 0.738307, + 0.348255, + -0.826931, + -0.558920, + -0.034697, + -0.596740, + 0.251144, + 0.177114, + 0.173488, + 0.141507, + 0.050978, + -0.194008, + -0.264354, + -0.078549, + 0.124942, + 0.296966, + 0.085862, + 0.231736, + -0.696701, + -0.076401, + -0.327262, + -0.742256, + 0.116836, + 0.244640, + -0.023450, + -0.582146, + 0.064115, + 0.677976, + -0.780099, + -0.151973, + -0.791220, + 0.208092, + -0.209787, + -0.446428, + 0.112644, + 0.362114, + -0.195969, + -0.290736, + 0.054716, + 0.211191, + 0.340052, + 0.058793, + 0.852891, + 0.203927, + -0.663804, + 0.417634, + 0.196947, + 0.839618, + 0.065553, + 0.080673, + -0.129639, + -0.036420, + 0.062645, + 0.595259, + -0.373251, + 0.148627, + 0.435496, + 0.370967, + -0.055811, + 0.361177, + 0.626849, + -0.174638, + 0.404536, + 0.810956, + 0.058170, + -0.351713, + -0.665585, + -0.397077, + -0.715289, + 0.514421, + 0.004633, + -0.121739, + -0.129532, + -0.271486, + -0.175878, + 0.095043, + -0.131497, + 0.274767, + 0.585385, + -0.256871, + -0.022648, + -0.427915, + 0.003283, + -0.291172, + -0.626810, + 0.199455, + -0.113703, + -0.182050, + 0.326943, + 0.571423, + 0.636156, + 0.602036, + -0.413129, + -0.222301, + -0.037474, + -0.184190, + -0.087756, + 0.251646, + -0.437098, + 0.203522, + 0.183722, + -0.686086, + 0.480692, + -0.173216, + -0.321671, + -0.041300, + 0.064673, + -0.180855, + -0.562461, + -0.176201, + 0.117671, + -0.660057, + 0.027503, + -0.054557, + 0.552062, + 0.526497, + 0.551942, + -0.194197, + -0.027725, + -0.159731, + 0.030795, + -0.034911, + 0.359705, + -0.252989, + 0.381077, + 0.197309, + -0.789580, + -0.471336, + 0.128841, + 0.828328, + -0.376927, + 0.416687, + 0.195237, + 0.207650, + -0.144922, + -0.181884, + -0.153111, + -0.018660, + 0.567440, + 0.003838, + 0.299162, + 0.447265, + 0.738400, + -0.252495, + 0.450037, + 0.548144, + 0.930659, + -0.751875, + 0.187322, + -0.706593, + 0.503694, + -0.071728, + -0.105271, + -0.442824, + 0.637964, + 0.410686, + -0.237838, + 0.446708, + 0.833881, + 0.367803, + -0.229954, + 0.357027, + -0.119221, + 0.826600, + 0.060927, + 0.110501, + -0.768468, + 0.915203, + -0.051614, + -0.411570, + 0.033395, + -0.476523, + 0.857068, + -0.703881, + -0.835602, + -0.025133, + -0.420130, + -0.364850, + -0.062954, + 0.528751, + -0.418242, + -0.437407, + 0.678026, + -0.060449, + -0.049823, + 0.212762, + -0.472902, + -0.220872, + -0.293576, + 0.075115, + -0.260831, + -0.194733, + 0.381875, + -0.220311, + -0.097834, + -0.683107, + -0.052308, + 0.297214, + 0.357283, + -0.747871, + -0.235254, + 0.291031, + 0.201130, + -0.323991, + 0.145406, + -0.221624, + -0.198895, + 0.203614, + 0.024059, + 0.501901, + -0.708257, + -0.589850, + -0.301719, + 0.865152, + -0.055871, + 0.363024, + 0.582171, + 0.000718, + 0.724214, + -0.309145, + 0.427851, + -0.245805, + 0.052873, + -0.588064, + -0.058888, + 0.003158, + -0.267370, + -0.527711, +] +lambda = Cdouble[ + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, +] +maxranks = Csize_t[9, 9, 1] +ranks = Csize_t[9, 9, 1] +pieces = Cdouble[ + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.000000, + 0.011765, + 1.000000, +] +ret = SDPLR.solve( + blksz, + blktype, + b, + CAent, + CArow, + CAcol, + CAinfo_entptr, + CAinfo_type, + numbfgsvecs, + rho_f, + rho_c, + sigmafac, + rankreduce, + gaptol, + checkbd, + typebd, + dthresh_dim, + dthresh_dens, + timelim, + rankredtol, + printlevel, + R, + lambda, + maxranks, + ranks, + pieces, +) +@test iszero(ret)