Skip to content

binary atan function is not supported natively #1986

Closed
@a6a3uh

Description

@a6a3uh

Based on discussion here.

There is no binary version of atan function in nonlinear subsystem of MOI.

If user uses binary atan in JuMP it registers a user defined function which is not supported with write_to_file and also makes unary version unavailable.

Binary version of atan commonly known as atan2 is widely used in many nonlinear problems. It is supported in almost all language's math libraries and most nonlinear optimization tools.

The best solution would be to support both unary and binary versions of atan simultaneously within MOI.

Workaround would be to add separate atan2 function. The drawback of such approach would be incompatibility with julia expressions witch use binary version of atan. For example when extracting expressions from functions with Symbolics.jl.

If we have to stick with only one version of atan perhaps the binary should be used instead of unary. As atan(x) = atan2(x, 1) so unary is easily implemented with binary. The only issue then is some extra computation atan2 has over regular atan.

The same issue could be inspected for some other multimethod functions in julia.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions