{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaOpt/KNITRO.jl/issues/25","labels_url":"https://api.github.com/repos/JuliaOpt/KNITRO.jl/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/JuliaOpt/KNITRO.jl/issues/25/comments","events_url":"https://api.github.com/repos/JuliaOpt/KNITRO.jl/issues/25/events","html_url":"https://github.com/JuliaOpt/KNITRO.jl/issues/25","id":57121021,"number":25,"title":"Documentation for key functions","user":{"login":"cdagnino","id":3705969,"avatar_url":"https://avatars.githubusercontent.com/u/3705969?v=3","gravatar_id":"","url":"https://api.github.com/users/cdagnino","html_url":"https://github.com/cdagnino","followers_url":"https://api.github.com/users/cdagnino/followers","following_url":"https://api.github.com/users/cdagnino/following{/other_user}","gists_url":"https://api.github.com/users/cdagnino/gists{/gist_id}","starred_url":"https://api.github.com/users/cdagnino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdagnino/subscriptions","organizations_url":"https://api.github.com/users/cdagnino/orgs","repos_url":"https://api.github.com/users/cdagnino/repos","events_url":"https://api.github.com/users/cdagnino/events{/privacy}","received_events_url":"https://api.github.com/users/cdagnino/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-02-10T02:13:48Z","updated_at":"2015-02-10T13:42:33Z","closed_at":null,"body":"Hi,\r\n\r\nCould you provide some syntax and explanation for a few key functions?\r\nIn particular, I'm confused about `initializeProblem()`\r\nFor example, how would I initialize a problem without passing the analytic gradient nor the hessian? Or passing just the gradient but not the hessian?\r\nCan I avoid passing the sparsity patterns?\r\nSince this should be consistent with the `setCallbacks()` function, I'm guessing some help on that function would help too.\r\n\r\nThanks!\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/JuliaOpt/KNITRO.jl/issues/comments/73700379","html_url":"https://github.com/JuliaOpt/KNITRO.jl/issues/25#issuecomment-73700379","issue_url":"https://api.github.com/repos/JuliaOpt/KNITRO.jl/issues/25","id":73700379,"user":{"login":"cdagnino","id":3705969,"avatar_url":"https://avatars.githubusercontent.com/u/3705969?v=3","gravatar_id":"","url":"https://api.github.com/users/cdagnino","html_url":"https://github.com/cdagnino","followers_url":"https://api.github.com/users/cdagnino/followers","following_url":"https://api.github.com/users/cdagnino/following{/other_user}","gists_url":"https://api.github.com/users/cdagnino/gists{/gist_id}","starred_url":"https://api.github.com/users/cdagnino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdagnino/subscriptions","organizations_url":"https://api.github.com/users/cdagnino/orgs","repos_url":"https://api.github.com/users/cdagnino/repos","events_url":"https://api.github.com/users/cdagnino/events{/privacy}","received_events_url":"https://api.github.com/users/cdagnino/received_events","type":"User","site_admin":false},"created_at":"2015-02-10T13:42:33Z","updated_at":"2015-02-10T13:42:33Z","body":"The examples definitely help! But, to refer to my particular problem, I didn't find one that didn't provide the full hessian and hessian structure and sometimes providing that becomes difficult for large problems.\r\n\r\nI have used the Matlab API, but I'm very far from an expert in it. However, I did find [this doc page](https://www.artelys.com/tools/knitro_doc/3_referenceManual/knitromatlabReference.html) very helpful.\r\n\r\nIf your API closely resembles the C one, then an option for some features is just to point to the official KNITRO documentation and explicitly say that your API works the same way. I do think your users with limited C/KNITRO exposure would benefit from writing your own docs.\r\n\r\nIs there a MathProgBase fallback you recommend when JuMP is not an option? I'm going through [this page](https://github.com/JuliaOpt/MathProgBase.jl/blob/master/test/nlp.jl) and it seems very similar to the way the KNITRO.jl examples are built.\r\n\r\nOn a more general level, it is my understanding that the Julia-opt spirit is to have a single API and then attach different solvers. JuMP does this beautifully and IMHO is decently documented in the specific solver docs. When this is not an option, I could gather from the docs that MathProgBase acts as the common API, but I think this is not completely clear (if you find merit in this, I could post an issue on MathProgBase or something like that) \r\n\r\nThanks once again! If I do eventually learn this stuff, I'd be happy to help write up some doc pages."}}