abs()とlinalg.norm()の使い方など

今日は土曜日ですが、飛ばしています!

この投稿で使用したもの
  1. Python 3
  2. numpy
  3. 対話モード
さっきふと思いました。
abs()
linalg.norm()
って同じことでは?

結論から言うと、
ちょっと違います。

それぞれ使い方などを説明します。

print(abs(-1000))
とすると、
1000
と出力されると思います。

一方、
対話モードで
>>>import numpy
>>>p0=(1,2)
>>>p1=(3,4)
>>>numpy.linalg.norm(numpy.array(p0)-p1)
2.8284271247461903

linalg.norm(p0-p1)は、
2点の座標間の距離を表しています。
3次元の座標に変えても、
出力してくれます。
linalg.norm(p0)
ですと、
p0の原点からの距離となります。
距離なので、
p1-p0
でも、
p0-p1
でも
同じ答えとなります。

absは絶対値ですので、
定数などのような、
プラスやマイナスの値をプラスにするだけです。

linalg.norm()
が、
abs()を含むようなイメージでしょうか?
例を挙げてみます。
linalg.norm()
に特殊な場合のp0,p1を与えてみます。

例):
>>>p0=(0,0)
>>>p1=(0,-1000)
>>>int(numpy.linalg.norm(numpy.array(p0)-p1))
1000
>>>abs(-1000)
1000
>>>

普通はこのような使い方はしないかもしれませんが。
ちなみにPythonでは、タプルどうしの演算は許されていないので、
array()を使用して演算しています。

今日はlinalg.norm()の使い方を考えてみました。

追記:
linalg.norm()
を絶対値の出力として使えると、今気づきました。
>>>import numpy
>>>int(numpy.linalg.norm(-1000))
1000

イメージを書いてみました。
Microsoft paint で描きました。
linalg.norm()とabs()

つらつらと書いていますが、間違っていたらすみません。(^_^;)

追記2:
|p0p1| = |p1 - p0|
|p1p0| = |p0 - p1|

IBM ウェブアートデザイナー で描きました。
点P0と点P1
高等学校の数学の知識が必要です。



END

コメント

このブログの人気の投稿

黒に原色は映える?!

Microsoft数独はアンインストール、FreeCellを230円/月支払ってプレイしています

③色付け(光源追加)