複素数計算機
この複素数計算機は、実部と虚部で指定した2つの複素数に対して四則演算を実行します。a = a_real + a_imag·i と b = b_real + b_imag·i を入力し、加算・減算・乗算・除算を選ぶと、結果の複素数を直交形式と読みやすい表示文字列の両方で受け取れます。除算は共役を用いた厳密な公式で計算され、ゼロ除算も正しく拒否されます。ブラウザで無料実行されるコードと有料APIで動作するコードは同一の決定的なものなので、このページでテストした内容がそのまま統合先に届きます。
無料で実行
複素数演算が実際に計算していること
複素数とは a + bi と書く実数の組であり、i は i² = −1 を満たす虚数単位です。加算と減算は成分ごとに行われ、実部同士・虚部同士が独立に結合するため、(3 + 2i) + (1 − 4i) = 4 − 2i となります。乗算は i の定義的性質を使うため興味深い場合です。分配法則で (a + bi)(c + di) を展開すると ac + adi + bci + bdi² となり、i² = −1 なので結果は (ac − bd) + (ad + bc)i です。積の実部は実部同士の積ではなく、これが手計算で最も多い間違いです。この複素数計算機はこれらの閉じた公式を直接適用し、反復も最終丸め以上の近似も行わないため、答えは決定的です。同じ入力は常にバイト単位で同一の出力を生み、それはブラウザのタブでもAPI経由のエッジサーバーでも変わりません。
除算と共役のテクニック
複素数の除算は公式が自明でないため、最も計算機が必要になる演算です。(a + bi) / (c + di) を計算するには、分子と分母に分母の共役 (c − di) を掛けます。すると分母は c² + d² という通常の実数になり、分子は乗算規則で展開されます。最終結果は ((ac + bd) / (c² + d²)) + ((bc − ad) / (c² + d²))i です。この方法が破綻する唯一の場合は c² + d² = 0 のとき、つまり c と d が両方ゼロのゼロ複素数の場合だけです。ゼロ除算は実数と同様に複素数体でも未定義であり、このエンドポイントは無限大やNaNを返して下流のパイプラインを静かに破壊するのではなく、無効な入力エラーとして報告します。結果は浮動小数点ノイズが出力に現れないよう小数点以下10桁に丸められ、負のゼロはゼロに正規化されるため、クリーンで比較可能な応答が得られます。
複素数計算が実務で登場する場面
複素数は学問上の好奇心ではなく、いくつもの工学分野の実用的な記法です。電気技術者はインピーダンスやフェーザを複素数で表すため、直列の回路素子の合成は加算、伝達関数の計算は除算になります。信号処理では周波数成分をフーリエ変換による複素数値として表し、フィルタリングは複素係数を掛ける操作です。制御理論は極と零点を複素平面上に配置し、量子力学は複素振幅で基礎から書かれています。これらすべての分野で計算自体は機械的なもの(このページの四則演算で完全にカバーされます)であり、APIの価値は公式を再実装せずに検証ステップ・教材・コードジェネレータに組み込める点にあります。この機能はステートレスで決定的なため、キャッシュしても安全、再試行しても安全、ワークロードが必要とするだけの多数のオペランドに対して並列実行しても安全です。
活用例
回路のインピーダンス計算を確認する
直列・並列で部品を組み合わせる際に複素インピーダンスを加算・除算し、基板設計に進む前に手計算を検証できます。
教材や宿題ツールを構築する
学生の演習問題をAPIに流し、(a + bi) × (c + di) の厳密な解答を、公式を自分で保守せずに生成できます。
信号処理の出力を検証する
DSPパイプラインの複素数の積と商を、独立した決定的な参照実装と比較してクロスチェックできます。
よくある質問
料金はいくらですか?
API経由では1リクエストあたり $0.002 です。このページ上でブラウザから無料で実行することもでき、どちらの方法でも同じコードが動作します。
どの演算に対応していますか?
加算・減算・乗算・除算に対応しており、operation フィールドで指定します。各演算は実部と虚部で指定した2つの複素数を受け取ります。
ゼロで割るとどうなりますか?
2番目の複素数が 0 + 0i の場合、リクエストは無効な入力エラーとして拒否されます。ゼロ複素数による除算は未定義であり、近似されることはありません。
結果の精度はどのくらいですか?
公式は厳密な閉じた形式で、出力は浮動小数点ノイズを除去するため小数点以下10桁に丸められ、負のゼロはゼロに正規化されます。
負の数や小数を入力できますか?
はい。実部と虚部には、2.5 や −0.75 のような負の数や小数を含む、任意の有限数を入力できます。
何か保存されますか?
いいえ。計算はステートレスで、4つの数値はメモリ内で処理された後に破棄され、結果だけが返されます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/complex-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a_real":3,"a_imag":2,"b_real":1,"b_imag":-4,"operation":"multiply"}'const res = await fetch("https://api.kit.forhosting.com/math/complex-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a_real": 3,
"a_imag": 2,
"b_real": 1,
"b_imag": -4,
"operation": "multiply"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/complex-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a_real": 3,
"a_imag": 2,
"b_real": 1,
"b_imag": -4,
"operation": "multiply"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/complex-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a_real":3,"a_imag":2,"b_real":1,"b_imag":-4,"operation":"multiply"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a_real":3,"a_imag":2,"b_real":1,"b_imag":-4,"operation":"multiply"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/complex-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a_real": 3,
"a_imag": 2,
"b_real": 1,
"b_imag": -4,
"operation": "multiply"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.complex_number",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |