can't use primal_feasibility_report with complex variables
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- julia
- Área
- testing-qa
Línea de trabajo
El stack trace apunta a src/Utilities/distance_to_set.jl y src/feasibility_checker.jl; empieza leyendo el manejo de distancias para conjuntos EqualTo y el punto de llamada del comprobador de factibilidad. Reproduce el ejemplo con variables complejas y comprueba que primal_feasibility_report maneje sin errores la restricción EqualTo{ComplexF64} resultante.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Should be easy enough to implement.
using JuMP, LinearAlgebra
import Hypatia
function complex_test()
model = Model(Hypatia.Optimizer)
@variable(model, ρ[1:2,1:2] in HermitianPSDCone())
@constraint(model, tr(ρ) == 1)
@objective(model, Max, imag(ρ[1, 2]))
set_silent(model)
optimize!(model)
display(primal_feasibility_report(model))
return objective_value(model)
end
Stacktrace:
julia> complex_test()
ERROR: distance_to_set using the distance metric MathOptInterface.Utilities.ProjectionUpperBoundDistance() for set type MathOptInterface.EqualTo{ComplexF64} has not been implemented yet.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:44
[2] distance_to_set(d::MathOptInterface.Utilities.ProjectionUpperBoundDistance, ::Float64, set::MathOptInterface.EqualTo{…})
@ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/lY2WB/src/Utilities/distance_to_set.jl:75
[3] distance_to_set(point::Float64, set::MathOptInterface.EqualTo{ComplexF64})
@ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/lY2WB/src/Utilities/distance_to_set.jl:71
[4] _distance_to_set(point_f::JuMP.var"#115#116"{…}, func::GenericAffExpr{…}, set::MathOptInterface.EqualTo{…}, ::Type{…})
@ JuMP ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:196
[5] _add_infeasible_constraints(model::Model, ::Type{…}, ::Type{…}, violated_constraints::Dict{…}, point_f::Function, atol::Float64)
@ JuMP ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:160
[6] primal_feasibility_report(point::Function, model::Model; atol::Float64, skip_missing::Bool)
@ JuMP ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:130
[7] primal_feasibility_report
@ ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:109 [inlined]
[8] #primal_feasibility_report#113
@ ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:48 [inlined]
[9] primal_feasibility_report
@ ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:42 [inlined]
[10] primal_feasibility_report(model::Model; kwargs::@Kwargs{})
@ JuMP ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:81
[11] primal_feasibility_report
@ ~/.julia/packages/JuMP/insRt/src/feasibility_checker.jl:68 [inlined]
[12] complex_test()
@ Main ./REPL[5]:8
[13] top-level scope
@ REPL[6]:1
Some type information was truncated. Use `show(err)` to see complete types.
- Lenguaje dominante
- Julia
- Estrellas
- 506
- Forks
- 103
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 9
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jump-dev/MathOptInterface.jl
-
[Bridges] MultirowChange in set_map.jl drops zero coefficientsPosiblemente ocupada @odow la tomó hace 6 días. Abierto
jump-dev/MathOptInterface.jl#3106 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Precision loss in Hessian computationPosiblemente ocupada @blegat la tomó hace 7 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
jump-dev/MathOptInterface.jl#3104 · 11 comentarios ·
Los mantenedores suelen responder en 1 día
-
Layer instantiatorAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jump-dev/MathOptInterface.jl#2986 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Differentiable Optimization APIAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
jump-dev/MathOptInterface.jl#2969 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Add Batched{S} setAbiertoType: Set Request
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jump-dev/MathOptInterface.jl#2904 · 15 comentarios · 7 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de jump-dev/MathOptInterface.jl
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
JuliaMath/Polynomials.jl#647 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
OpenSourceAWE/SymbolicAWEModels.jl#431 ·
Los mantenedores suelen responder en 1 día
-
Make PDAQP an optional extraAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100