From 7ec265ae872232a2f2514a0acdb23857aeed7c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Legat?= Date: Wed, 15 Nov 2023 23:05:56 +0100 Subject: [PATCH 1/2] Use sdplrlib from shared library --- Project.toml | 1 + src/SDPLR.jl | 42 ++++++++++++++++++++++++++++++++++++++++++ test/vibra.jl | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 test/vibra.jl 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..a3ecbb1 100644 --- a/src/SDPLR.jl +++ b/src/SDPLR.jl @@ -6,4 +6,46 @@ 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..6a9905d --- /dev/null +++ b/test/vibra.jl @@ -0,0 +1,42 @@ +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) From 1f4260ade06c6ab3ffd8686fdd9a6fc099b37a7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Legat?= Date: Wed, 15 Nov 2023 23:23:40 +0100 Subject: [PATCH 2/2] Fix format --- src/SDPLR.jl | 69 +- test/vibra.jl | 2190 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 2221 insertions(+), 38 deletions(-) diff --git a/src/SDPLR.jl b/src/SDPLR.jl index a3ecbb1..fe2213e 100644 --- a/src/SDPLR.jl +++ b/src/SDPLR.jl @@ -7,19 +7,32 @@ function solve_sdpa_file(file) end function solve( - blksz::Vector{Cptrdiff_t}, blktype::Vector{Cchar}, + 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}, + 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, + 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, + 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} + lambda::Vector{Cdouble}, + maxranks::Vector{Csize_t}, + ranks::Vector{Csize_t}, + pieces::Vector{Cdouble}, ) numblk = length(blksz) @assert length(blktype) == numblk @@ -32,20 +45,36 @@ function solve( @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}, + 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, + 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 + 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 index 6a9905d..9937bbc 100644 --- a/test/vibra.jl +++ b/test/vibra.jl @@ -5,12 +5,1624 @@ 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'] +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 @@ -24,19 +1636,561 @@ 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] +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] +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) + 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)