2点ガウス・ルジャンドル求積法計算ツール
この計算ツールは、2点ガウス・ルジャンドル求積法を用いて、有限区間における多項式の定積分を近似します。係数を次数の高い順に入力し、続いて下限と上限を指定してください。標準区間[-1, 1]の節点を指定区間へ写像し、多項式を2回評価して、正しい尺度係数で値を合成します。多項式を解析的に積分した厳密値と絶対誤差も表示するため、学習、手計算の確認、数値積分コードの試験にご利用いただけます。
無料で実行
多項式と区間を明確に入力します
多項式の係数は、最高次数から定数項まで順番に並べてください。たとえば、配列[2, -3, 0, 5]は2x³ - 3x² + 0x + 5を表します。途中の次数がない場合も、係数の位置が指数を決めるため、該当箇所に0を明示してください。次に、有限の下限と上限を入力します。上限は下限より厳密に大きい必要があります。定数多項式から高次多項式まで、文書に記載された係数数の上限内で処理できます。「xの二乗プラス1」のような記号式は解析しません。数値係数の配列を使うことで、演算の優先順位、符号、欠落項に関する曖昧さを避けられます。計算前に、区間の向きが求めたい定積分と一致しているかご確認ください。逆向きの積分が必要な場合は、ご自身で端点を入れ替え、結果の符号を反転してください。この仕様により、表示される写像と正の区間尺度を容易に確認できます。
写像と重み付き評価を理解します
2点ガウス・ルジャンドル求積法では、標準区間[-1, 1]上で重みがそれぞれ1である標準節点-1/√3と1/√3を使用します。区間[a, b]に対して、計算ツールは中点(a + b)/2と半幅(b - a)/2を求めます。各標準節点tは、x = 中点 + 半幅 × tによって写像されます。多項式を評価するのは、この2つの写像後のxだけです。両方の関数値を足し、その合計に半幅を掛けると求積近似値が得られます。出力には標準節点、写像後の節点、各関数値が含まれるため、計算のすべての段階を個別に再現できます。ガウス・ルジャンドル節点は、同じ評価回数の等間隔点より高い代数的精度を得られるよう選ばれています。この公式では端点を評価せず、適応的な区間分割も行いません。要求された区間全体に、古典的な2節点公式を1回適用します。
厳密性と表示誤差を解釈します
2節点のガウス・ルジャンドル公式は、厳密な算術では3次以下のすべての多項式を厳密に積分します。4次以上では一般に近似となりますが、特別な係数や対称区間によって誤差が相殺される場合があります。そのため、exact_for_polynomialは表示誤差が0かどうかだけで判断した結果ではなく、次数に対する一般的な保証を示します。入力が多項式なので、各単項式を解析的に積分し、その原始関数を両端で評価して厳密な参照値も計算します。absolute_errorは、その参照値と求積近似値の非負の差です。理論上は厳密な場合でも、JavaScriptの数値が有限精度の浮動小数点を使うため、小さな残差が現れることがあります。この比較から、次数、区間幅、対称性が固定求積公式へ及ぼす影響を調べられます。高次数や大きな係数では、数値積分の前に変数を再尺度化すると、オーバーフローや丸めへの感度を抑えられます。
活用例
数値解析の演習を確認する
写像後の節点、標本値、最終近似値を、手計算の各行と照合できます。
3次式までの厳密性を示す
異なる区間で3次以下の多項式を試し、厳密な参照値と浮動小数点誤差を確認できます。
回帰試験データを作成する
多項式評価、区間写像、積分ソフトウェアの試験向けに決定的な結果を生成できます。
よくある質問
係数配列は何を意味しますか?
係数を次数の高い順に並べます。[3, 0, -2]は3x² - 2を表し、0は欠けた1次項の位置を保持します。
標準節点が正負の1/√3なのはなぜですか?
第2ルジャンドル多項式の根だからです。等しい重みを使うことで、3次以下のすべての多項式に対して公式が厳密になります。
区間の端点で関数を評価しますか?
いいえ。写像後の2節点はいずれも区間内部にあり、2点ガウス・ルジャンドル公式は端点を標本化しません。
厳密な3次式で微小な誤差が出るのはなぜですか?
数学的な公式は3次式に対して厳密ですが、節点と演算は有限精度の浮動小数点数で表されるため、小さな残差が生じる場合があります。
料金はいくらですか?
APIリクエスト1件の料金は$0.002です。ブラウザー版はネットワーク計算を行わず、端末内で実行されます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/calculus/gauss-legendre-2point \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"coefficients":[1,0,0],"lower_bound":0,"upper_bound":1}'const res = await fetch("https://api.kit.forhosting.com/calculus/gauss-legendre-2point", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"coefficients": [
1,
0,
0
],
"lower_bound": 0,
"upper_bound": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/gauss-legendre-2point",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"coefficients": [
1,
0,
0
],
"lower_bound": 0,
"upper_bound": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/gauss-legendre-2point", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"coefficients":[1,0,0],"lower_bound":0,"upper_bound":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"coefficients":[1,0,0],"lower_bound":0,"upper_bound":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/gauss-legendre-2point", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"coefficients": [
1,
0,
0
],
"lower_bound": 0,
"upper_bound": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.gauss_legendre_2point",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |