The library documents itself · Numeric & optimization
stzObjective
10 own methods · 2 forms written with extensions, listed under their method
the source: base/number/stzObjective.ring(opens in a new tab) · All classes · The area reference: Numeric & optimization
Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean
Examples: 0 come from the library's tests; 2 were composed from each method's signature and run for this page, on a fresh object, for example o1 = new stzObjective("-(x-3)^2 + 7", [ "x" ]). 8 methods have none yet. Examples run on 2026-10-03 12:54 inside the library at commit 0e72e2e2c.
Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
Expression
(no comment in the source: the name reads as a sentence) expressionno extension
composed example
o1 = new stzObjective("-(x-3)^2 + 7", [ "x" ])
? o1.Expression()
#--> -(x-3)^2 + 7composed from the signature, run for this pageVariables
(no comment in the source: the name reads as a sentence) variablesno extension
composed example
o1 = new stzObjective("-(x-3)^2 + 7", [ "x" ])
? @@( o1.Variables() )
#--> [ "x" ]composed from the signature, run for this pageMathFunctionQ
NOT `Function()`: Haro accepts `function` as a synonym for `func`, so a method by that name is a C6 "Error in function name" at load time. Same family as naming a variable `oR`, which folds onto the `or` keyword. an OBJECT accessor, so it is Q-only -- a plain twin would return an object, which is exactly what the plain form must never dono extension
ValueAt
(no comment in the source: the name reads as a sentence) value atno extension
GradientAt
(no comment in the source: the name reads as a sentence) gradient atno extension
SetMaxIterations
(no comment in the source: the name reads as a sentence) set max iterationsQCSXTZZZIBWU
SetGradientTolerance
How small the gradient must get before the search calls it done. Left at the engine's default when unset, rather than guessed at here.QCSXTZZZIBWU
MinimizeFrom
THE ANSWER IS A RECORD, NOT A POINT, for the same reason the hypothesis tests return one: a bare answer cannot tell you it did not converge. :status says how it stopped, :evaluations is the honest cost (an iteration that line-searched twelve times is not one unit of work), and :why says it in words.no extension
MaximizeFrom
THE LARGEST value, by minimising the negative. Doing it here rather than telling you to rewrite the expression is the point: -f has the same maximiser as f has minimiser, but the VALUE comes back negated, and forgetting to flip it back is the obvious way to get this wrong.no extension

