ForHosting KIT · 開発者向けツール

対数の展開

対数の展開とは、掛け算・割り算・べき乗で構成された真数を持つ単一の対数 — たとえば底が2の log₂(x·y/z) — を、より単純な対数の和、すなわち log₂(x) + log₂(y) − log₂(z) に書き換えることです。このAPIはその書き換えを自動で行います。底と、各因数の演算のリストを送信すると、展開された式が返されます。各因数につき1項ずつ、正しい符号と係数が付いた形です。数値の真数は検証されます。対数は正の真数に対してのみ定義されるため、ゼロまたは負の因数は、意味をなさない式を生成する代わりに、明確なエラーで拒否されます。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。

対数を展開するとはどういうことか

対数の3つの法則は、真数の内側にある構造を対数の外側の構造へと変換します。積の法則によれば、log_b(x·y) は log_b(x) に log_b(y) を加えたものに等しく、内側の掛け算は外側の足し算になります。商の法則によれば、log_b(x/y) は log_b(x) から log_b(y) を引いたものに等しく、内側の割り算は外側の引き算になります。べき乗の法則によれば、log_b(x^n) は n 掛ける log_b(x) に等しく、内側の指数は外側へ係数として前に出ます。対数の展開とは、どの対数の内側にもこれ以上分解できるものがなくなるまで、これらの法則を左から右へ適用していくことです。学習者がこの操作に出会うのは、微分する前に式を整理するとき、指数方程式を解くとき、そして両対数グラフ用にデータを線形化するときです。各因数とそれが真数にどう入るかを特定してしまえば、この操作は純粋に機械的です。だからこそAPIにぴったりなのです。式を底と演算・因数のリストとして記述すれば、展開結果がすぐに使える文字列として返ってきます。各項が明示され、その符号、係数、真数がすべて記された形です。

APIへの式の記述方法

入力は2つの部分からなります。底は対数の底で、1以外の任意の正の数です。したがって2、10、e はすべて使用できますが、1、0、負の数は、そのような底を持つ実対数が存在しないため拒否されます。terms 配列には真数の因数が順番に列挙されます。各項は演算 — multiply(掛け算)、divide(割り算)、power(べき乗) — と真数を指定します。multiply の項はプラス符号で対数を寄与し、divide の項はマイナス符号で、power の項は指数が前に係数として出た形で寄与します。したがって、底が2の log₂(x·y/z³) は3つの項、すなわち multiply x、multiply y、指数3の power z となり、log₂(x) + log₂(y) − 3·log₂(z) に展開されます。真数は、代数的な形が必要な場合は x や price のような記号でも、具体的な確認をしたい場合は 8 のような数値でも構いません。数値の真数は正でなければなりません。記号の真数は、後で代入する値によって符号が変わるため、そのまま保持されます。power の項の負の指数は、項の符号を反転させるだけです。x の −n 乗は x の n 乗で割ることと同じだからです。

定義域の検証が重要な理由

実対数は、厳密に正の真数に対してのみ定義されます。ゼロの対数は負の無限大に発散し、負の数の対数は実数として存在しません。したがって、正でない因数の上に構築された展開は、誰かが評価した瞬間に密かに壊れる、記号的なノイズにすぎません。このエンドポイントはそのようなノイズの生成を拒否します。数値の真数がゼロまたは負の場合、呼び出しは該当する項を名指しする invalid-input エラーで失敗し、その呼び出しに対して課金されることはありません。同じ厳格さは底にも適用され、底は正で1と異なる必要があります。また指数にも適用され、指数は有限の数でなければなりません。指数ゼロは拒否されます。その項は log(1)、すなわちゼロを寄与することになり、ほとんどの場合入力の誤りだからです。結果は決定的です。同じリクエストは常にバイト単位で同じ文字列を返します。そのため、このエンドポイントは生成されたワークシート、自動採点システム、出力を文字通り比較するCIチェックの内部で安全に使用できます。データを一切保存せずエッジ上で実行され、同一のアルゴリズムがこのページのブラウザ上で無料で動作します。自動化する場合にのみ、1回の呼び出しにつき $0.002 をお支払いいただきます。

代数の練習問題を生成する

底と因数のリストを入力し、展開された形をワークシート、クイズ、段階的な解答に直接埋め込みます。

宿題の答えを自動で採点する

学生が展開した式を、同じ底と項に対してAPIが返す標準的な文字列と比較します。

微分する前に式を整理する

積や商の対数を和に展開すれば各項を個別に微分でき、微積分の作業における標準的な手順です。

料金はいくらですか?

1リクエストにつき $0.002 です。同じアルゴリズムがこのページのブラウザ上でも無料で動作します。

どの底が使用できますか?

1以外の任意の正の数です。2、10、e、その他の有効な底が使えます。1、0、負の数の底は拒否されます。

因数を数値ではなく変数にできますか?

はい。真数は記号(x、price、velocity)でも数値でも構いません。数値の真数は正でなければならず、記号の真数は記述されたまま保持されます。

真数がゼロまたは負の場合はどうなりますか?

実対数がそこで定義されないため、呼び出しは該当する項を名指しする invalid-input エラーで失敗します。拒否された呼び出しに課金されることはありません。

べき乗はどのように展開されますか?

指数 n の power の項は、その真数の対数の n 倍を寄与します。負の指数は項の符号を反転させます。指数0は拒否されます。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/math/expanding-logarithms

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/math/expanding-logarithms \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"base":2,"terms":[{"operation":"multiply","argument":"x"},{"operation":"multiply","argument":"y"},{"operation":"divide","argument":"z"}]}'
{
  "base": 2,
  "terms": [
    {
      "operation": "multiply",
      "argument": "x"
    },
    {
      "operation": "multiply",
      "argument": "y"
    },
    {
      "operation": "divide",
      "argument": "z"
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.expanding_logarithms",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_terms32
max_abs1000000000000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →