7.7 INTLAB を使ってみる

intvalinit('SharpIVmult')
うまく行けば、 “===> Slow but sharp interval matrix multiplication in use” と表示される。

format long;
intvalinit('DisplayInfsup')
===> Default display of intervals by infimum/supremum (e.g. [ 3.14 , 3.15 ])” と表示される。

X=intval('0.1');
Y=intval('[1,1.3]');

help intval


関数 戻り値
inf(X) 下限 $ a$
sup(X) 上限 $ b$
mag(X) $ X$ の絶対値最大
mig(X) $ X$ の絶対値最小

VerifyLinSys.m
function XX=VerifyLinSys(A,b)
  XX=NaN;
  R=inv(mid(A));
  xs=R*mid(b);
  C=eye(dim(A))-R*intval(A);
  Z=R*(b-A*intval(xs));
  X=Z; iter=0;
  while iter<15
    iter=iter+1;
    Y=X*infsup(0.9,1.1)+1e-20*infsup(-1,1);
    X=Z+C*Y;
    if all(in0(X,Y)), XX=xs+X; return; end
  end

verifylss()

verifyeig()

行列の正定値性の判定をするため、isspd() が用意されている。
isspd(A)

isspd(A,1)
後者は定理2.3にもとづき方法で計算される。

A に行列 $ A$ のデータが格納されているとき、 2ノルム $ \left\Vert A\right\Vert _{2}=\dsp\max_{x^H x=1}\left\Vert A x\right\Vert _2$ は、 norm(A) または norm(A,2) で、 1ノルムは norm(A,1) で、 最大値ノルムは norm(A,Inf) で、 Frobenius ノルムは norm(x,'fro') で計算できる。

MATLAB組み込みの eigs()

Rump [22], [23], [24] はすべて入手済み。

Rump [25], [26], [27], [28]

桂田 祐史
2020-09-03