Compute Numerical Gradient
curl --request POST \
--url https://api.fincept.in/quantlib/numerical/differentiation/gradient \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"func_name": "rosenbrock",
"x": [
1,
1
],
"h": 1e-7,
"method": "forward"
}
'import requests
url = "https://api.fincept.in/quantlib/numerical/differentiation/gradient"
payload = {
"func_name": "rosenbrock",
"x": [1, 1],
"h": 1e-7,
"method": "forward"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({func_name: 'rosenbrock', x: [1, 1], h: 1e-7, method: 'forward'})
};
fetch('https://api.fincept.in/quantlib/numerical/differentiation/gradient', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fincept.in/quantlib/numerical/differentiation/gradient",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'func_name' => 'rosenbrock',
'x' => [
1,
1
],
'h' => 1e-7,
'method' => 'forward'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fincept.in/quantlib/numerical/differentiation/gradient"
payload := strings.NewReader("{\n \"func_name\": \"rosenbrock\",\n \"x\": [\n 1,\n 1\n ],\n \"h\": 1e-7,\n \"method\": \"forward\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fincept.in/quantlib/numerical/differentiation/gradient")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"func_name\": \"rosenbrock\",\n \"x\": [\n 1,\n 1\n ],\n \"h\": 1e-7,\n \"method\": \"forward\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/numerical/differentiation/gradient")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"func_name\": \"rosenbrock\",\n \"x\": [\n 1,\n 1\n ],\n \"h\": 1e-7,\n \"method\": \"forward\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"function": "rosenbrock",
"x": [
1,
1
],
"gradient": [
0,
0
]
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}quantlib-numerical
Compute Numerical Gradient
Calculate the gradient (vector of partial derivatives) of a multi-variable function at a given point. The gradient points in the direction of steepest ascent and is essential for optimization algorithms, sensitivity analysis, and machine learning applications. Uses finite differences to approximate each partial derivative. [Tier: BASIC, Credits: 1]
POST
/
quantlib
/
numerical
/
differentiation
/
gradient
Compute Numerical Gradient
curl --request POST \
--url https://api.fincept.in/quantlib/numerical/differentiation/gradient \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"func_name": "rosenbrock",
"x": [
1,
1
],
"h": 1e-7,
"method": "forward"
}
'import requests
url = "https://api.fincept.in/quantlib/numerical/differentiation/gradient"
payload = {
"func_name": "rosenbrock",
"x": [1, 1],
"h": 1e-7,
"method": "forward"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({func_name: 'rosenbrock', x: [1, 1], h: 1e-7, method: 'forward'})
};
fetch('https://api.fincept.in/quantlib/numerical/differentiation/gradient', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fincept.in/quantlib/numerical/differentiation/gradient",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'func_name' => 'rosenbrock',
'x' => [
1,
1
],
'h' => 1e-7,
'method' => 'forward'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fincept.in/quantlib/numerical/differentiation/gradient"
payload := strings.NewReader("{\n \"func_name\": \"rosenbrock\",\n \"x\": [\n 1,\n 1\n ],\n \"h\": 1e-7,\n \"method\": \"forward\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fincept.in/quantlib/numerical/differentiation/gradient")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"func_name\": \"rosenbrock\",\n \"x\": [\n 1,\n 1\n ],\n \"h\": 1e-7,\n \"method\": \"forward\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/numerical/differentiation/gradient")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"func_name\": \"rosenbrock\",\n \"x\": [\n 1,\n 1\n ],\n \"h\": 1e-7,\n \"method\": \"forward\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"function": "rosenbrock",
"x": [
1,
1
],
"gradient": [
0,
0
]
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}Authorizations
API key for authentication. Get your key at https://api.fincept.in/auth/register
Body
application/json
Built-in multi-variable function name
Available options:
rosenbrock, sphere, rastrigin, quadratic Example:
"rosenbrock"
Point at which to evaluate the gradient (vector of coordinates)
Example:
[1, 1]
Step size for finite difference
Example:
1e-7
Finite difference method
Available options:
forward, central Example:
"forward"
⌘I
