複素数の平方根計算ツール
3 + 4iの平方根は2 + iと−2 − iです。実部と虚部を入力すると、主平方根ともう一つの根が直交形式で分かり、そのまま計算に使えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
この複素平方根計算ツールは、実部と虚部を分けた直交形式の複素数を受け取り、二乗すると元の数になる2つの値を返します。最初の結果は、実部が非負になる標準的な分枝規則に従った主平方根です。次の結果は、その符号を反転した平方根です。計算は常に同じ入力から同じ結果を生成し、純実数、純虚数、一般の複素数に対応します。結果も直交形式なので、代数、工学、ソフトウェアでそのままご利用いただけます。
複素数を直交形式で入力します
数をa + biと表し、aを実部の欄、bを虚部の欄に入力してください。たとえば3 + 4iなら3と4、8 - 6iなら8と-6を指定します。両方の欄が必須で、有限の数値だけを受け付けます。
極形式への変換や偏角の事前計算は不要です。実軸上の値では、虚部にゼロを入力してください。結果も直交形式で返るため、三角関数による再変換を行わず、方程式や次の計算へ直接組み込めます。
文字列、無限大、数値でない値は明確な入力エラーになります。
主平方根ともう一つの根を確認します
ゼロでない複素数には、互いに符号が反対となる平方根が必ず2つあります。本ツールは一方を主平方根、他方をその反対の根として示します。標準規則により、主平方根の実部は非負です。
負の実軸上で実部がゼロの場合は、虚部が非負になります。もう一つの根は、主平方根の実部と虚部をともに反転して求めます。3 + 4iでは2 + iと-2 - i、-9 + 0iでは主平方根として0 + 3iが得られます。
ゼロでは2つの根が一致します。
直交形式の結果を利用して検算します
u + viを検算するには、(u² - v²) + (2uv)iを計算し、実部と虚部を元の入力と比較してください。JavaScriptの数値は有限の二進精度を使うため、特に無理数の根では末尾の桁にわずかな差が生じることがあります。途中の計算では返された精度を保ち、最終表示の段階でのみ丸めることをおすすめします。
このアルゴリズムは複素数の絶対値と数値的に安定した分枝選択を使い、通信、乱数、時刻には依存しません。
活用例
複素二次方程式を解きます
判別式または二乗された変数が複素数の場合に、直交形式の2つの根を求めます。
工学計算を確認します
回路、波動、制御系で使う複素平方根を実部と虚部に分けて確認できます。
よくある質問
なぜ答えが2つあるのですか?
wの二乗がzなら、-wの二乗もzになるためです。主平方根を先に、その反対の根を次に返します。
主平方根はどのように選ばれますか?
実部が非負となる標準分枝を使います。負の実軸上では、主平方根の虚部が非負になります。
負の実数の平方根も計算できますか?
はい。 実部に負の値、虚部にゼロを入力してください。たとえば-9 + 0iの主平方根は0 + 3iです。
結果の小数桁が長いのはなぜですか?
多くの複素平方根は無理数で、計算には有限精度を使うためです。表示時だけ丸めてください。
複素数の平方根を手で確かめるには?
根u + viを(u² − v²) + (2uv)iとして二乗し、元の数と比べます。2 + iなら4 − 1 = 3、2 · 2 · 1 = 4となり、3 + 4iに戻ります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/complex-square-root \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"real":3,"imaginary":4}'const res = await fetch("https://api.kit.forhosting.com/algebra/complex-square-root", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"real": 3,
"imaginary": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/complex-square-root",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"real": 3,
"imaginary": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/complex-square-root", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"real":3,"imaginary":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"real":3,"imaginary":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/complex-square-root", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"real": 3,
"imaginary": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.complex_square_root",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
直交形式の結果を利用して検算します
自動処理では1回の料金が$0.002で、不正な値は入力エラーとして返します。
連携の活用例
決定的な数学処理を構築します
分枝規則を別途実装せず、安定したJSON形式の2つの結果を受け取れます。
技術的な質問
APIでの計算料金はいくらですか?
APIの各リクエストは$0.002です。Tier A機能としてブラウザー内では無料でも実行できます。