ぐぐってみた。


「英語教育 問題点」の検索結果 約 5,140,000 件
「国語教育 問題点」の検索結果 約 531,000 件
数学教育 問題点」の検索結果 約 620,000 件
「理科教育 問題点」の検索結果 約 744,000 件
「社会教育 問題点」の検索結果 約 3,080,000件
「世界史教育 問題点」の検索結果 約 626,000 件


社会教育は、違う意味にも使われてそうだけど、英語教育だけ注目度が異様に高い。数学教育とか批判してるのは、多分圧倒的に教育者側の人だろうけど、英語だけは実学的な側面があって、その分"ユーザ"からの批判も多そうではある。曰く「6年も勉強したのに全然英語できねーよ!学校教育おかしいんじゃね!?」。これが数学だと「いやー、数学もっと勉強しとけばよかったな〜」ってなることが多い気がするのは全くもって不思議なことである。

現状、日常的に英語を使う人は、平均的にはまだまだ「話す」より「読む」機会の方が多いと思う(要出典)けど、一方で最大派閥である「普段英語を使わない」層には、「読む」需要より「話す」需要の方が圧倒的に多いという謎現象もある。英会話教室は流行っても、英読教室とか流行らなそうだし

個人的には、大学入った段階で受験英語のみの勉強しかしたことがなかったけど、論文を読むのに困らなかったので、高校の授業で唯一役に立ったのは、英語だと思ってる

超久しぶりに見たらOpenCVのPythonインターフェースがこなれていた

SURFとかも使えるようになってた(1.1くらいから使えたらしいけど)ので、超適当に特徴点追跡して、計測行列の特異値とか求めてみた。

環境は、python2.6+OpenCV2.0+numpy1.3

SURF ParameterのhessianThresholdは300~500くらいがいいよって書いてあるので、そんなもんにしてある。mindistの閾値はいくらが妥当なのか分からないけれど、これより下げると、ほとんど動きのない環境でも、追跡できる点が2点とかになってしまう(まあ撮影している環境にも依存するだろうけど)。座標を見ている限りでは、変化のない環境では、これでも概ね問題なく追跡できているらしい。もっと緩くてもいいのかもしれない。

しかしまあ、この方法だと、数十点ほどの追跡でも、結構重いので(ノートPCが非力だというのもあるけど)、もうちょい軽くしたい。あと、シーン中に動きのある物体とかあった場合の検出とかどうやればいいんだろう(光の加減が変わるので、そもそもfeature vectorが変化してしまう気もするけど)

import sys
sys.path.append('C:\\OpenCV2.0\\Python2.6\\Lib\\site-packages')
from cv import *
from numpy import *
from numpy.linalg import *


WNDNAME = 'hoge'
capture = CaptureFromCAM(0)
NamedWindow(WNDNAME , CV_WINDOW_AUTOSIZE)
storage = CreateMemStorage()
framecount = 0

while 1:
  frame = QueryFrame(capture)
  gray = CreateImage((frame.width,frame.height) , 8 , 1)
  CvtColor(frame , gray , CV_BGR2GRAY)
  pts,vecs = ExtractSURF(gray, None, storage, (0, 500, 3, 1))
  if framecount==0:
    if len(pts)>0:
      features = [[x] for x in zip(pts , vecs)]
      framecount = 1
    continue
  #nearest neighbor search
  for n,orbit in enumerate(features):
     if len(orbit)!=framecount:continue
     plap = orbit[-1][0][1]
     pvec = orbit[-1][1]
     mindist = 0.01
     cur = None
     for i,(pt , vec) in enumerate( zip(pts,vecs) ):
        if plap!=pt[1]:continue
        dist = sum([(v-w)*(v-w) for (v,w) in zip(pvec,vec)])
        if dist<mindist:
           mindist = dist
           cur = (i,pt,vec)
     if cur!=None:
        i,pt,vec = cur
        features[n].append( (pt,vec) )
        del pts[i]
        del vecs[i]
  framecount += 1
  orbits = [x for x in features if len(x)==framecount]
  NP = len(orbits)
  NF = framecount
  print NP , "points tracked"
  if NP=0:
     framecount = 0
     continue
  M = zeros(2*NP*NF).reshape(2*NP,NF)
  for np,orbit in enumerate(orbits):
    for nf,(ps,_) in enumerate(orbit):
       x,y = ps[0]
       M[(2*np,nf)] = x
       M[(2*np+1,nf)] = y
  _,vals,_ = svd(M)
  print "singular values" , vals[:4]
  ShowImage(WNDNAME , frame)
  key = WaitKey (5)
  if key % 0x100 == 27:
     break

DestroyWindow(WNDNAME)

球面の量子化

球面の量子化を考えると、球面はSO(3)の余随伴軌道になっていて、関数環は、S(so(3))を関係式x1*x1+x2*x2+x3*x3=const.で割ることで得られる。この関係式をU(so(3))に持ち上げて、割ってやれば、球面を量子化したと考えるのが自然。今の場合、普通に同じ関係式で、U(so(3))を割ってやればよいと思う。

と思うのだけど、定数の値(つまり球の半径)に依らず、環は同型となるのかという問題がある。これは、成り立たないし、genericには有限次元表現を持たない。自然数nに対して、x1*x1+x2*x2+x3*x3=n*(n+1)の時のみ、商環は有限次元表現を持つ(これは、U(so(3))の有限次元既約表現に対応する)。これは、物理業界(というか、主に素粒子業界)では、Fuzzy sphereと呼ばれるものになっている。これは、行列正則化という、場の理論正則化する一手法で現れるらしいけど、格子正則化と違って、代数構造が保たれて、色々と都合がよいっぽい

参考:行列正則化とIIB行列模型
http://ci.nii.ac.jp/naid/110006417435/

Fuzzy shpereについて書いてある文献を読むと、球面上の関数は、球面調和関数で展開されるので、Fuzzy Sphere上でも"非可換球面調和関数"(実際は単なる行列)を考えている。球面調和関数は、S(so(3))の同次多項式に持ち上がるので、非可換球面調和関数も、U(so(3))の非可換多項式を考えればいい。この対応は、対称化写像s:S(so(3))->U(so(3))によって作ることができる。この対応は、多項式の場合はいいけど、代数的でない関数の場合は、どうすればいいのかという問題があって、よく分からない。


空間のFuzzy化は、球面以外のケースでも色々と考えられてる。

Fuzzy Complex Projective Spaces and their Star-products
http://arxiv.org/abs/hep-th/0107099

On spherical harmonics for fuzzy spheres in diverse dimensions
http://arxiv.org/abs/hep-th/0105006

Fuzzy Orbifolds
http://arxiv.org/abs/hep-th/0405060

Quantization of Flag Manifolds and their Supersymmetric Extensions
http://arxiv.org/abs/hep-th/0611328

Fuzzy Toric Geometries
http://arxiv.org/abs/hep-th/0612173

あたりは、読んでみたけど、Poisson構造に留意した書き方になってないので、これでよいのかよく分からない("Fuzzy化"と量子化の関係は謎であるというか、そもそも、どっちの用語もwell-definedですらないんだけど、とりあえず同じ"ような"ものであるらしい)。文献によっては、調和解析が重要と言わんばかりに、ラプラシアンがどうこうと書いてたりすることもあるけど、関数の基底として何を取るのかは本質的ではないと思う。


基本的には、幾何学量子化と同じことっぽいけど、完全に同じなのかどうかよく分からない。
Fuzzy complex Grassmannians and quantization of line bundles
http://www.mmas.univ-metz.fr/~wurzbacher/FUZZY-GRASS.pdf

Berezin-Toeplitz Quantization of compact Kaehler manifolds
http://arxiv.org/abs/q-alg/9601016
この構成は、非常に一般的ではあるけれども、具体的に何かをsystematicに計算したい時には、あまり役に立たなそう。計算するときには、なんらかのアフィンスペースに埋め込んで、アフィンスペースに埋め込みとcompatibleなPoisson構造が入るというシナリオが一番楽っぽい。まあ、そんな埋め込みを発見するのは、あんまり容易ではない。余随伴軌道として実現するか、Grassmann多様体だったら、Plucker座標にPoisson構造が定義できるので、そのあたり。

けれど、アフィン埋め込みには、2~3の問題がある。

第一に、アフィンスペースに埋め込んだ時の定義イデアルは、例えば、SO(4)の余随伴軌道の場合、Casimir関数の一つは、C1=x1*x4+x2*x5+x3*x6とかなので、これを量子化した時の関係式は何にすればよいのか?という問題がある。まあ、これは対称化したもの(X1*X4+X4*X1+X2*X5+X5*X2+X3*X6+X6*X3)/2でよいのではないかと思う。第二に、球面の場合も、Casimir=n*(n+1)という"量子化条件"があったけど、一般の場合、こいつはどうなるのかは謎。余随伴軌道の場合は、Lie環の有限次元既約表現に対応すると考えてよいのだろうか?


その他。fuzzy sphereのq-変形とかも考えられているらしい。余随伴軌道構成なら、q-変形にいくのは、自然なことである。