CenteredInterval[x,dx]
実数 x および dx に対して実数区間
を含む中心がある区間を与える.
CenteredInterval[x+ y,dx+ dy]
複素長方形
を含む中心がある区間を与える.
近似数 c に対して c の誤差境界内のすべての値を含む中心がある区間を与える.
CenteredInterval
CenteredInterval[x,dx]
実数 x および dx に対して実数区間
を含む中心がある区間を与える.
CenteredInterval[x+ y,dx+ dy]
複素長方形
を含む中心がある区間を与える.
近似数 c に対して c の誤差境界内のすべての値を含む中心がある区間を与える.
詳細
- 中心がある区間は中心半径区間あるいは中半径区間としても知られている.
- CenteredIntervalは,通常,数値計算で累積された誤差の検証済み境界を得るために使われる.中心がある区間の計算は,関数の全引数の誤差境界が与えられると関数値の誤差の信頼できる境界を与える.
- CenteredInterval[…]は中心がある区間オブジェクトΔを,中心
,半径
で与える.
と
は2つの分母をベキ乗したガウスの有理数である.
と
が実数ならΔは実区間
を表し,それ以外の場合はΔは複素長方形
を表す. - 中心がある区間引数は算術演算および多くの数学関数で使うことができる.f[Δ1,…,Δn]は中心がある区間オブジェクトΔを与える.これには任意の ai∈Δiについての f[a1,…,an]が含まれる.
- IntervalMemberQは区間への帰属や区間間の包含関係の決定に使うことができる.
- EqualやLess等の有理演算子は,互いに素な区間を与えられると常に明示的なTrueまたはFalseの結果を与える.
- StandardFormおよび関連する形式では,CenteredIntervalオブジェクトは中心と半径の近似値しか表示されない省略形で出力される.
- NormalはCenteredIntervalオブジェクトを確度が半径に対応する任意精度数に変換する.
- Information[CenteredInterval[…], prop]は中心半径区間の特性 prop を与える.以下は指定可能な特性である.
-
"Center" 区間の中心 "Radius" 区間の半径 "Bounds" 区間内の値の境界 - Det,Inverse,LinearSolve,Eigensystem等の線形代数の演算は,CenteredInterval成分を持つ行列に使うことができる.
例題
すべて開く すべて閉じる例 (3)
CenteredInterval[2, 10 ^ -10]% Log[%] + Sin[% ^ 2 + 1]Normal[%]CenteredInterval[2 + 3I, 10 ^ -10 + 5 10 ^ -9 I]E ^ Gamma[%]Information[%, {"Center", "Radius"}]bds = Information[Exp[CenteredInterval[0, 1 + I]], "Bounds"]reg = Region[Style[TransformedRegion[Rectangle[{-1, -1}, {1, 1}], Function[{a, b}, {E^a Cos[b], E^a Sin[b]}]], Red]];Show[{Graphics[{Yellow, Rectangle@@(ReIm /@ bds)}], reg}]スコープ (27)
中心・半径区間を構築する (7)
CenteredInterval[2 / 3, 10 ^ -10]CenteredInterval[2 + 3I, 1 + I]CenteredInterval[1.23`20]CenteredInterval[1.23`20 + 4.56`30 I]CenteredInterval[0``7]有界のIntervalオブジェクトを中心がある区間に変換する:
CenteredInterval[Interval[{1, 2}]]CenteredInterval[123 / 2 ^ 12]CenteredInterval[1 / 2 + 3 / 4I]CenteredInterval[1 / 3]CenteredInterval[E + I Pi]非零の機械精度数は$MachinePrecision精度数として扱われる:
CenteredInterval[9.87]CenteredInterval[0.]区間演算 (5)
{a, b} = {CenteredInterval[2, 1 / 100], CenteredInterval[3 + I / 4, (1 + I) / 20]};{a + b, a b, a ^ b}Sin[CenteredInterval[1.23`4]]BesselJ[CenteredInterval[1, 1 / 1000], CenteredInterval[2, 1 / 1000]]a = CenteredInterval[1.234`10];a + PiBeta[2`15, a] + 3 / 4Log[#]Sin[#]&[CenteredInterval[20, 10]]Plot[Log[x]Sin[x], {x, 10, 30}, Epilog -> {Green, Opacity[0.25], Rectangle[{10, -#}, {30, #}]&[Information[%, "Radius"]]}]値の集合が非有界のときは,区間演算操作はIndeterminateを返す:
1 / CenteredInterval[0, 1]区間特性 (5)
int = CenteredInterval[1.23`20]Information[int, {"Center", "Radius"}]Information[int, "Bounds"]N[%, 21]Normal[int]int = CenteredInterval[N[ArcSin[2], 10]]Information[int, {"Center", "Radius"}]Information[int, "Bounds"]N[%, 11]Normal[int]int = CenteredInterval[2, 1 / 2]IntervalMemberQ[int, 9 / 4]IntervalMemberQ[int, 5 / 4]int1 = CenteredInterval[0, 1 + I]int2 = CenteredInterval[1 / 3, 1 / 3 + 1 / 3I]IntervalMemberQ[int1, int2]IntervalMemberQ[int2, int1]Graphics[{{Red, Rectangle@@ReIm[Information[int1, "Bounds"]]}, {Yellow, Rectangle@@ReIm[Information[int2, "Bounds"]]}}]int1 = CenteredInterval[1, 3 / 4];
int2 = CenteredInterval[2, 3 / 4];
int3 = CenteredInterval[3, 3 / 4];int1 < int3int1 < int2IntervalIntersectionを使って交点を計算する:
IntervalIntersection[int1, int2]空区間はInterval[]として表される:
IntervalIntersection[int1, int3]線形代数 (10)
CenteredInterval行列の積:
m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}];
n = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 2}, WorkingPrecision -> 10], {2}];
(mn = m.n)//MatrixFormm と n のランダムな代表の mrep と nrep を求める:
ranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixForm(nrep = Map[ranrep, n, {2}])//MatrixFormmn が mrep と nrep の積を含むことを確認する:
MapThread[IntervalMemberQ, {mn, mrep.nrep}, 2]//MatrixFormCenteredInterval行列を整数乗する:
(m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}])//MatrixForm(mpow = MatrixPower[m, 17])//MatrixFormranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixFormmpow がMatrixPower[mrep,17]を含むことを確認する:
MapThread[IntervalMemberQ, {mpow, MatrixPower[mrep, 17]}, 2]//MatrixFormCenteredInterval行列の指数行列:
(m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}])//MatrixForm(mexp = MatrixExp[m])//MatrixFormranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixFormMapThread[IntervalMemberQ, {mexp, MatrixExp[mrep]}, 2]//MatrixFormCenteredInterval行列の行列式:
(m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}])//MatrixFormmdet = Det[m]ranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixFormIntervalMemberQ[mdet, Det[mrep]]CenteredInterval行列の逆行列:
(m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}])//MatrixForm(minv = Inverse[m])//MatrixFormranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixFormMapThread[IntervalMemberQ, {minv, Inverse[mrep]}, 2]//MatrixFormCenteredInterval行列について
を解く:
m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}];
b = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 2}, WorkingPrecision -> 10], {2}];
(sol = LinearSolve[m, b])//MatrixFormm と b のランダムな代表の mrep と brep を求める:
ranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixForm(brep = Map[ranrep, b, {2}])//MatrixFormsol がLinearSolve[mrep,brep]を含むことを確認する:
MapThread[IntervalMemberQ, {sol, LinearSolve[mrep, brep]}, 2]//MatrixFormCenteredInterval行列の固有系:
SeedRandom[777];(m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}])//MatrixForm{vals, vecs} = Eigensystem[m]ranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixForm{rvals, rvecs} = Eigensystem[mrep]ベクトルを並べ替えてスケーリングし直した後で,vals が rvals,vecs が rvecs を含むことを確認する:
MapThread[IntervalMemberQ, {vals, rvals[[{3, 1, 2}]]}]MapThread[IntervalMemberQ, {vecs, rvecs[[{3, 1, 2}]] * (Last[#]["Center"]& /@ vecs)}, 2]CenteredInterval行列のLU分解:
(m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}])//MatrixFormMatrixForm /@ ({l, u, p, c} = LUDecomposition[m])MapThread[IntervalMemberQ, {l.u, p.m}, 2]//MatrixForm実対称正定値CenteredInterval行列のコレスキー(Cholesky)分解:
rm = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}];
(m = rm.Transpose[rm])//MatrixForm(q = CholeskyDecomposition[m])//MatrixFormMapThread[IntervalMemberQ, {Transpose[q].q, m}, 2]//MatrixFormCenteredInterval行列の固有多項式:
(m = Map[CenteredInterval, RandomReal[{-10, 10}, {3, 3}, WorkingPrecision -> 10], {2}])//MatrixFormp = CharacteristicPolynomial[m, x]ranrep[e_CenteredInterval] := e["Center"] + RandomInteger[{-1000, 1000}] / 1000 e["Radius"]
(mrep = Map[ranrep, m, {2}])//MatrixFormp の係数が mrep の固有多項式の係数を含むことを確認する:
MapThread[IntervalMemberQ, {CoefficientList[p, x], CoefficientList[CharacteristicPolynomial[mrep, x], x]}]特性と関係 (2)
a = CenteredInterval[1, 1 / 10];a ^ 2CenteredInterval[Normal[a] ^ 2]Intervalは端点を指定することで与えられた実区間を表す:
Interval[{1, 2}]区間をCenteredInterval表現に変換する:
CenteredInterval[%]Interval[Information[%, "Bounds"]]区間の端点が2進有理数ではないときは,変換によって区間が大きくなる:
Interval[{0, 1 / 3}]CenteredInterval[%]Interval[Information[%, "Bounds"]]N[%[[1]] - %%%[[1]]]考えられる問題 (1)
CenteredIntervalは有界の区間しか表せない:
Tan[CenteredInterval[N[Pi / 2, 20]]]Interval表現には非有界区間も使うことができる:
Tan[Interval[N[Pi / 2, 20]]]テキスト
Wolfram Research (2021), CenteredInterval, Wolfram言語関数, https://reference.wolfram.com/language/ref/CenteredInterval.html.
CMS
Wolfram Language. 2021. "CenteredInterval." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CenteredInterval.html.
APA
Wolfram Language. (2021). CenteredInterval. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CenteredInterval.html
BibTeX
@misc{reference.wolfram_2026_centeredinterval, author="Wolfram Research", title="{CenteredInterval}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/CenteredInterval.html}", note=[Accessed: 14-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_centeredinterval, organization={Wolfram Research}, title={CenteredInterval}, year={2021}, url={https://reference.wolfram.com/language/ref/CenteredInterval.html}, note=[Accessed: 14-August-2026]}