DOSEIの日記

技術メモ+日常ログ

数学

なす角

y 軸 (0,1,0) と適当なベクトル (a,b,c) のなす角をプログラムで求めるには、どの式を使えばより正確に求まるのだろうか。 を acos() で計算 小数で割り算して渡すので、精度の問題がある。 [−1, 1] をはみ出すとエラーとなることに注意が必要。計算誤差でそ…

部分空間の共通部分 (intersection of two subspaces)

ベクトル空間 ℝn 上の部分空間 A = 〈 a1, ..., ap 〉, B = 〈 b1, ..., bq 〉 を考える。 A と B の共通部分 C := A ∩ B は一般に部分空間である。 x ∈ C である場合、つまり x ∈ A かつ x ∈ B の場合、それぞれの部分空間を張る基底の座標で、それぞれ xA …

リーマン多様体上の勾配の定義

リーマン多様体上で定義される grad f の動機がよくわからなかったのでいろいろ調べたら、以下の記事で説明されていたので、自分なりにまとめた。 Div, grad, and all that—on a Riemannian manifold | Climbing Mount Bourbaki 定義 リーマン多様体 (M, g) …

截線 (せっせん)

『射影平面の幾何学』って本に、「曲線の 2 点で交わる直線を截線 (scant) とよぶ」って書いてあるんだけれども、読みがかかれていない。 8 年前にゼミで読んだときに、読みは「せっせん」と判明したのだが (さいせん、と読みがちだが、違う。『裁』との混同…

球面調和関数の勾配 (Gradient of spherical harmonics)

球面調和関数を とする。球面上の関数 を次のように球面調和関数で展開する.この時、 の球面勾配は,球面調和関数は、 Legenedre 陪関数によって、とかける。ここで、 は正規化係数で、ここではどうでもいいのでおいておく。 の 微分を と書くと、 は、となる…

FFT を使った内挿 (補間)

FFT を使った内挿 (これとか) は、線形補間でも、3次補間でもないのかね。

Geometric Algebra for Computer Science の 2章あたりまでのまとめ

要するに、 GA (geometric algebra) っていうのは、非退化のクリフォード代数、つまりグレード付きベクトル空間の幾何学的解釈といえる。らしい。まぁ、難しいことはいいんだけど、普通の GA の本は、難しいところからスタートするので難しいんだな (トート…

加速、補外

id:DOSEI:20100909:p3 この本の最後から2番目の章が「加速」なんだけど、補外と同じ意味らしい。初めて聞いたなぁ。いや、Richardson 加速っていうのは聞いたことあるんだけども。加速=補外って説明でほんとに正しいのだろうか。ていうことは演繹すると、加…

Spline のまとめ

Spline (mathematics) - Wikipedia, the free encyclopedia 以下の記事は、上記ページから読み取って推測した結果。成書を参考にしたほうがそりゃいいんだけど、負けかなと思って(謎 定義 (一般の)スプラインは、以下の性質をもった1変数関数のことである…

多項式補間とラグランジュ補間

多項式補間とラグランジュ補間の違いは何? 全然別物なの? A sort of なの?教えてエロイ人! *1 *1:「イ」はカタカナなので注意しよう (何の注意だ)

Legendre 関数 in

TR1 では、 cmath に std::tr1::legendre, std::tr1::assoc_legendere が用意されている。 次数 l が 128 以上では結果が環境依存らしい。

球面上の幾何計算 (1)

ここでは、球面上の幾何オブジェクトに対して、その間の演算を定義する。ついでに、コンピュータで実装する場合の表現の例をあげる。 点 球面上で考える基本的な対象の一つは点である。この点のすべての集合が S^2 である。 点 p に対して、球のちょうど反対…

謎座標系

前回でっち上げた、謎の局所座標系 (id:DOSEI:20091030:p1) について。地球物理とかその辺では、使われているっぽい。たとえば、 The “Cubed Sphere”: A New Method for the Solution of Partial Differential Equations in Spherical Geometry この論文では…

極座標における偏微分可能性

平面上の極座標 (r, θ) を考えたとき、 r は半閉区間 [0, ∞) で定義される。 C1 級関数 f は、極 r = 0 で r による偏微分は可能なのだろうか。つまり、 ∂rf(0,θ) は存在するのか? そもそも、偏微分可能性は、両側偏微分が等しいのが条件。だとすると、端点…

球面上の勾配とその座標変換

どこにも、変換式が書かれていない。誰に聞いても知らない。そんな、球面上の座標変換における勾配の変換式を頑張って計算してみよう!これ見ればもっと簡単だよっていう情報がある人は、コメントプリーズ。そもそも球面とか勾配とか座標変換って何っていう…

球面上の畳み込みと Boehmian

球面上の畳み込みは、 Bülow の論文によると,と定義できる。 しかし、残念ながらユークリッド空間と異なりこれは可換ではない。可換な畳み込みを実現したものに Boehmian があるらしい。で、 "Boehmians on the sphere and their spherical harmonic expansi…

TeX の合同 (congruence) の記号

TeX では記号 ≅ を \cong で書くし、 HTML の実体参照も ≅ となっている。が、 "Re: 記号の意味" にもあるとおり、この記号を合同(図形の、もしくは数論での)の意味で使うのを見たことなかったのだが、外国では図形の合同の意味で使われているようだ…

subderivative, subdifferential

今やってるゼミのテキストに出てくる。この2つは同じ意味で、微分可能でない点にも微分を与える甘い微分。凸解析で使われる。日本語では「劣微分」と呼ばれるらしい。これを多変数に拡張したのが subgradient (劣勾配)。参照: 数学辞典第4版 343.D, Subderiv…

閉集合は開集合か

たとえば、実数とかで、閉区間の集合は開集合の公理を満たす?というか、開集合の公理を満たすような閉区間の集合をとって、(位相としての)開集合と定義できるのかな?

Eigen 2, C++ template library for linear algebra

http://eigen.tuxfamily.org/ これはなかなか使いやすそう。 Fedora のパッケージにも含まれてる。ただし、バージョン 2 はまだベータ。

定理・命題の使い分け

定理 (theorem) とは、ある条件で、成り立つことを証明されたもの。定理のうち、以下のように言葉を使い分けることがある。 命題 (proposition) どの特定の定理とも関連付けられていない主張。この用語が単純な証明を含んでいる場合もある。(本来は、単に真…

同次座標の重み

多くの CG 関連では、 R3 の座標 [x, y, z]⊤ の最後に重みを足して、[x, y, z, 1]⊤ ∈ P3 を作るが、数学方面では [1 : x : y : z]⊤ とすることがおおいっぽい。 たぶん、後者は、[1 : x : y : z]⊤ ∼ [x0 : x1 : x2 : x3]⊤ としたとき、同次座標から平面座標…

外積が行列で書けること

空間上の回転 id:DOSEI:20060512:p1 で書いた通り, 外積の計算は行列を使って線型変換の形で書ける: a × b = [a]× b で、単位ベクトル n の(原点を通る)軸周り、回転角 θ[rad] の回転行列は exp(θ[n]×) と書ける。ただし、指数を行列に拡張した定義は、テ…

直線のパラメタ空間

平面上の直線 平面 R2 上の直線は, ax + by + c = 0 とかける. これを P2 上で考えれば, x := [x, y, w]⊤, l⊤ := [a, b, c] とすると, l⊤ x = 0 とかけるので, 点と直線の双対性を示す式になる. 空間上の直線 R3 上では, 平面と点に関して同様な性質が成り立…

負にならない引き算, 飽和減算

英語では saturating subtraction. 差が負なら 0 にする演算。これはよく, dot minus (∸ U+2238) で表す。 C で書けば inline double monus(double a, double b) { return ( (a>b) ? a-b : 0 ); } この演算を “monus” ともいうらしい。

三角形分割

三角形分割は、 triangulation と triangularization の両方の呼ばれ方があるっぽい。てっきり後者が正しいと思っていたけど、世の中は前者の方がよく使われるのか。 triangulation は、三角測量(3次元復元)の意味もあるため、CVの分野では大変ややこしや。

ねじれの位置にある空間 2 直線の最短距離

id:DOSEI:20070530:p3 で書いた答え Mathworld の Line-Line Distance -- from Wolfram MathWorld に式が出てる.なお、ここには最短の距離を与える点を求める方法は書かれていない。以下のサイトにその計算法がある。 http://local.wasp.uwa.edu.au/~pbourke…

平行投影と透視投影

原点に向かって, 平面 z = 1 に投影することを考える. 以下, 環境によってうまくも字が出ないかも. 透視投影 Euclid 空間 ℝ3 ⟶ ℝ2; [x, y, z]⊤ ↦ [x⁄z, y⁄z]⊤ ただし, z ≤ 0 の点は投影しない. 射影空間 同次化して ℙ3 ⟶ ℙ2; [x1⁄x4, x2⁄x4, x3⁄x4, 1]⊤ ↦ [(…

回転行列の表現

OpenCV や Octave (id:DOSEI:20070709:p1) などで、データ量を削減するために、回転軸を表す単位ベクトル u と、回転量 θ を一つのベクトル r:=θu で表現することがよくある。しかし、結局これを分解して計算するので、意味ないなぁと思っていたのだが、論文…

Geometric Algebra (0)

普通のベクトルでは, 幾何的な概念が十分表現できない. せいぜい拡大縮小 (スカラ倍) や合成 (足し算・引き算) 程度の操作しか定義しない. もっと, 幾何を表現できるリッチな代数系を構成したい. 参考文献 http://modelingnts.la.asu.edu/html/IntroPrimerGe…