CauchyMatrix[x,y]
生成ベクトル x および y を構造化配列とすることで得られたコーシー(Cauchy)行列を表す.
CauchyMatrix[x]
CauchyMatrix[x,x]に等しい.
CauchyMatrix[cmat]
コーシー行列 cmat を構造化配列に変換する.
CauchyMatrix
CauchyMatrix[x,y]
生成ベクトル x および y を構造化配列とすることで得られたコーシー(Cauchy)行列を表す.
CauchyMatrix[x]
CauchyMatrix[x,x]に等しい.
CauchyMatrix[cmat]
コーシー行列 cmat を構造化配列に変換する.
詳細とオプション
- コーシー行列は,構造化行列として表されている場合はより効率的格納が可能で,Det,Inverse,LinearSolve等のより効率的な操作ができる.
- コーシー行列は特異カーネルによる積分方程式の有理補間,等角写像,n-体シミュレーション,離散化等に関連した計算に出現する.
- 生成ベクトルの x と y が与えられた場合,結果のコーシー行列
は
で与えられる成分を持つ. - 次は,CauchyMatrixによって加速される操作である.
-
Det time 
Inverse time 
LinearSolve time 
- CauchyMatrix sa についての以下の特性"prop"には sa["prop"]でアクセスできる.
-
"XVector" 生成ベクトル x "YVector" 生成ベクトル y "Properties" サポートされる特性のリスト "Structure" 構造化配列の型 "StructuredData" 構造化配列によって保存されている内部データ "StructuredAlgorithms" 構造化配列のための特殊メソッドを持つ関数のリスト "Summary" Datasetとして表された要約情報 - Normal[CauchyMatrix[x]]はコーシー行列を通常の行列として与える.
- CauchyMatrix[…,TargetStructure->struct]は,コーシー行列を struct で指定された形式で返す.以下はその可能な設定である.
-
Automatic 返す表現を自動選択する "Dense" 行列を密な行列として表す "Structured" 行列を構造化配列として表す "Symmetric" 行列を対称行列として表す - CauchyMatrix[…,TargetStructureAutomatic]はCauchyMatrix[…,TargetStructure"Structured"]に等しい.
例題
すべて開く すべて閉じる例 (2)
cm = CauchyMatrix[{1, 2, 3}, {1, 5, 6}]MatrixForm[cm]NormalはCauchyMatrixを通常の表現に変換することができる:
Normal[cm]cm = CauchyMatrix[{Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}, {Subscript[y, 1], Subscript[y, 2], Subscript[y, 3]}]MatrixForm[cm]Det[cm]スコープ (6)
cm = CauchyMatrix[Array[, 3]]MatrixForm[cm]Normal[cm]cm = CauchyMatrix[Range[5], Range[3]]MatrixForm[cm]Normal[cm]cm = CauchyMatrix[(| | | | | | | |
| ------ | ------ | ------ | ------ | ------ | ------ | ------- |
| (1/13) | (1/11) | (1/9) | (1/7) | (1/5) | (1/3) | 1 |
| (1/11) | (1/9) | (1/7) | (1/5) | (1/3) | 1 | -1 |
| (1/9) | (1/7) | (1/5) | (1/3) | 1 | -1 | -(1/3) |
| (1/7) | (1/5) | (1/3) | 1 | -1 | -(1/3) | -(1/5) |
| (1/5) | (1/3) | 1 | -1 | -(1/3) | -(1/5) | -(1/7) |
| (1/3) | 1 | -1 | -(1/3) | -(1/5) | -(1/7) | -(1/9) |
| 1 | -1 | -(1/3) | -(1/5) | -(1/7) | -(1/9) | -(1/11) |)]MatrixForm[cm]ByteCount[cm = CauchyMatrix[N[Range[30]], 0.5 - N[Range[30]]]]ByteCount[Normal[cm]]CauchyMatrixオブジェクトは配列についての情報を与える特性を含んでいる:
cm = CauchyMatrix[Subdivide[-1, 1, 5], Subdivide[-2, 2, 5]]cm["Properties"]"XVector"特性と"YVector"特性はコーシー行列の生成ベクトルを与える:
cm["XVector"]cm["YVector"]"Summary"特性は配列についての情報の簡単な要約を与える:
cm["Summary"]"StructuredAlgorithms"特性は構造化アルゴリズムを持つ関数のリストを与える:
cm["StructuredAlgorithms"]構造化アルゴリズムは,適切な場合は,別のCauchyMatrix oオブジェクトを返す:
cm = CauchyMatrix[Range[5], Range[3]]転置もまたCauchyMatrixである:
Transpose[cm]Transpose[cm].cmオプション (1)
TargetStructure (1)
アプリケーション (3)
ヒルベルト(Hilbert)行列をCauchyMatrixとして表す:
hilbert[n_] := CauchyMatrix[Range[n], Range[0, n - 1]]HilbertMatrixと比較する:
Table[hilbert[n] == HilbertMatrix[n], {n, 2, 5}]{AbsoluteTiming[i1 = Inverse[N[hilbert[19]]];], AbsoluteTiming[i2 = Inverse[N[HilbertMatrix[19]]];]}
exact = Inverse[HilbertMatrix[19]];
{Norm[i1 - exact, ∞], Norm[i2 - exact, ∞]} / Norm[exact, ∞]CauchyMatrixを使って固定の極を持つ補間有理関数についての係数を計算する:
poles = N[Exp[2π I Range[0, 4] / 5]];
pts = {{-1, 0}, {-I, (1/2) - (I/2)}, {0, 1}, {I, (1/2) + (I/2)}, {2, -1}};coef = LinearSolve[CauchyMatrix[pts[[All, 1]], -poles], pts[[All, 2]]]ratInt[z_] = Total[coef / (z - poles)]ComplexPlot3D[ratInt[z], {z, -2 - 2I, 2 + 2I}, ColorFunction -> {Automatic, None}](ratInt /@ pts[[All, 1]]) - pts[[All, 2]]//ChopParter行列をCauchyMatrixとして定義する:
parter[n_] := CauchyMatrix[Range[n], 1 / 2 - Range[n]]Parter行列はコーシー行列でもありToeplitz行列でもある:
MatrixForm[parter[5]]With[{n = 5},
ToeplitzMatrix[1 / (Range[n] - 1 / 2), 1 / (3 / 2 - Range[n])]]//MatrixFormParter行列の支配特異値は
の周りにクラスタ化している:
SingularValueList[N[parter[20]]]% - π特性と関係 (2)
コーシー行列を対角行列,Vandermonde行列およびそれらの逆行列の積として表す:
xl = {x1, x2, x3, x4, x5};
yl = {y1, y2, y3, y4, y5};
CauchyMatrix[xl, yl] == DiagonalMatrix[1 / (Times@@@Outer[Plus, xl, yl])].VandermondeMatrix[xl].Inverse[VandermondeMatrix[-yl]].DiagonalMatrix[Table[Apply[Times, Delete[yl, k] - yl[[k]]], {k, Length[yl]}]]//Simplifyコーシー行列を対角行列,Vandermonde行列,ハンケル(Hankel)行列の積として表す:
xl = {x1, x2, x3, x4, x5};
yl = {y1, y2, y3, y4, y5};
CauchyMatrix[xl, yl] == DiagonalMatrix[1 / (Times@@@Outer[Plus, xl, yl])].VandermondeMatrix[xl].HankelMatrix[Rest[CoefficientList[Apply[Times, y + yl], y]]].Transpose[VandermondeMatrix[-yl]]//Simplify考えられる問題 (3)
文献によってコーシー行列の定義が異なり,2番目の生成ベクトルが否定されていることがある:
CauchyMatrix[Array[Subscript[, #]&, 5], -Array[Subscript[, #]&, 5]]//MatrixForm生成ベクトルの中に反復要素がある場合はコーシー行列は構築できない:
CauchyMatrix[{1, 1, 3}, {2, 1, 4}]生成ベクトルの中に成分が他の生成ベクトルの成分の否定であるものがある場合はコーシー行列は構築できない:
CauchyMatrix[{1, 2, 3}, {2, -1, 4}]関連するガイド
-
▪
- 構造化配列
テキスト
Wolfram Research (2022), CauchyMatrix, Wolfram言語関数, https://reference.wolfram.com/language/ref/CauchyMatrix.html (2024年に更新).
CMS
Wolfram Language. 2022. "CauchyMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/CauchyMatrix.html.
APA
Wolfram Language. (2022). CauchyMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CauchyMatrix.html
BibTeX
@misc{reference.wolfram_2026_cauchymatrix, author="Wolfram Research", title="{CauchyMatrix}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/CauchyMatrix.html}", note=[Accessed: 13-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_cauchymatrix, organization={Wolfram Research}, title={CauchyMatrix}, year={2024}, url={https://reference.wolfram.com/language/ref/CauchyMatrix.html}, note=[Accessed: 13-August-2026]}