アプリ版:「スタンプのみでお礼する」機能のリリースについて

∫(-∞→∞)cosx/x dx
の値を求めようとしています。

複素関数論と偶関数の性質を使って
∫(-∞→∞)sinx/x dx = π/2×2 = π

というのは分かるのですが、sinをcosに変えると同じような方法がうまくいかずに困ってしまいます。

アドバイスをお願いします。

A 回答 (4件)

No.3でご指摘があったので、もう少し詳しい説明をしなくちゃならないようです。



 「cos[x]/xは可積分でないので、値は定義できない」にも関わらず、「恒等的に0であるという答」が1/xのフーリエ変換の実数部分として歴然と出て来る。これは一体どういうことか、が問題の核心でしょう。その答は、(既にNo.2でも述べた通り)「フーリエ変換の際には、フツーの関数を超関数として(知らず知らずというか、うっかりというか)扱っていることになるから」だと考えています。言い換えれば、フーリエ変換によって互いに写り合うモノの族を考えると、関数の概念を超関数に自然に拡張することになる。(ここでは、テスト関数を使って定義される超関数の概念を考えています。フーリエ変換と最も相性が良いでしょうからね。)

[1] 幾つか用語を導入します。
● 「関数T(x)は良い関数である」とは、フツーの関数T(x)が至る所何度でも微分可能であって、全ての自然数Nに対してT(x)およびその全ての導関数が|x|→∞においてO(1/(|x|^N)であるということ。
● 「ある区間I内でフツーの関数f(x)がフツーの関数F(x)と(フツーの関数の意味で)一致する」というのは、
f(x) = F(x) (x∈I)
が成り立つということですが、超関数ではそうは行かない。代わりに、テスト関数を使って定義します。
「ある区間I内で超関数h(x)とフツーの関数H(x)が等しい」とは、区間I以外では0であるような任意の良い関数T(x)に対して
∫h(x)T(x) dx = ∫H(x)T(x) dx (積分は-∞~∞)
が成り立つこと。これによって、「関数レベルでの比較はできない」(とのNo.3でのお叱り)にも関わらず、
δ(x) = 0 (x≠0) (すなわち、0を除く区間内で超関数δ(x)とフツーの関数 f(x)=0が等しい)
なんて言明が厳密な意味を持ちます。
● 「超関数h(x)が奇である」とは、任意の良い偶関数T(x)に対して、
∫h(x)T(x) dx = 0 (積分は-∞~∞)
が成り立つこと。 「超関数h(x)が偶である」とは、任意の良い奇関数T(x)に対して、
∫h(x)T(x) dx = 0 (積分は-∞~∞)
が成り立つこと。
●定理: h(x)が超関数のとき、∀x(x h(x)=0)ならば、h(x) はδ(x) の定数倍である。

[2] まずはフツーの関数の話です。
 フーリエ変換(や、一般に積分変換)の話をする場合、「関数」の概念が既に拡張されていることに注意が必要でしょう。「関数f(x)とは、xを決めると値がひとつ決まるようなもの」とだけ思っていると、なんだか旨く行かない。
 例えば
p(x) = exp(-x^2)

q(x) = exp(-x^2) (x≠0)、 q(0) = 0
を考えます。p(x)のフーリエ変換をP(ω)としましょう。q(x)のフーリエ変換もP(ω)になります。そして、q(x)を「フーリエ変換してまた逆変換」すると、p(x)になってしまう。しかし、そうであるにもかからわず、 「フーリエ変換してまた逆変換すると、元の関数に戻る」と言いたい。
 これを言うためには、「元の関数に戻るとは、almost everywhere(a.e., つまりルベーグ零集合を除く区間内)で元の関数と(フツーの関数の意味で)一致するという意味だ」と言い張るという手がある。(で、=の代わりに~と書いてみたりします。)
 ですが、その他にも、「p(x)とalmost everywhereで(フツーの関数の意味で)一致するような(フツーの)関数の集合Xを、『フーリエ変換してまた逆変換する』という写像で写した像は、Xである」という言い方もできます。もっと直接に、「フーリエ変換がP(ω)であるようなフツーの関数の集合Xを『フーリエ変換してまた逆変換する』という写像で写した像は、Xである」と言っても宜しいでしょう。
 実際、上記の例では
X={p| p(x) = exp(-x^2) a.e.}
というフツーの関数の集合に対して「フーリエ変換してまた逆変換」をやれば、Xに戻ります。これは、「この集合Xのことをexp(-x^2)と書いているんだ」と思えば良い訳で、先に「関数」の概念が既に拡張されている、と言ったのはこの意味です。

[3] さて、超関数に話を広げると、「フツーの関数p(x)とalmost everywhereで等しいような超関数の集合X」と「フーリエ変換がP(ω)であるような超関数の集合Y」とは同じではありません。実際、
r(x) = exp(-x^2)+δ(x)
はXの要素ですが、Yの要素ではない。だからY⊂Xという関係にあります。

[4] で、ご質問の 1/xのフーリエ変換を考える場合にも、「フツーの関数 1/x とalmost everywhereで等しいような超関数の集合X」の中から、フーリエ変換が一意的であるようなものを選び出す必要があります。「『フツーの関数 1/x とx≠0で等しいような奇の超関数』とalmost everywhereで等しいような超関数の集合Z」というのがその一つの方法であって(これが旨くいくことは、上記[1]の定理から明らかです)、Zは「フーリエ変換が -sgn(x)iπ であるような超関数の集合」と同じことになります。

[5] ま、丁寧にやれば幾らでもややこしくなるでしょうが、実用の方に重点を置くとするならば、超関数は実際にフーリエ変換との関係で使うことが多いのですから、
●フーリエ変換したら答が同じになる関数同士、という関係によって関数族(関数の集合)を考えることができ、この関数族をその代表元と同一視すると話が単純になる。超関数でも同じ。
●多くの超関数を「あるフーリエ変換を持つもの」として定義することができる。
●「ある区間でフツーの関数と超関数が等しい」という概念を使って、フツーの関数を超関数と看做すことができる。
というような感覚で掴むのがいいんじゃないか、と思うんです。

[6] かくて、ご質問への直接の回答としては:
 (cos x) / x を積分するってのは、積分の主値を考えるということでしょう。その場合、(主値を計算するためにわざわざ極限を考えるまでもなく、)1/xを奇の超関数と看做してしまえば、cos xが偶関数であるから答は0。で、「1/xを奇の超関数と看做す」というのは、実は1/xをフーリエ変換するときにやってることに他ならないのです。
    • good
    • 0
この回答へのお礼

丁寧なご回答、ありがとうございます。

奇関数とみなしてしまう、という考え方をするわけですね。
その際の関数と超関数の同一視の仕方がわかりました。いつの間にか普通の関数を超関数と見なしてやっていることもある気がしますが、そのからくりを自分で解釈することの大切さを痛感しました。

お礼日時:2006/11/25 12:49

回答としては、cos[x]/xは可積分でないので、値は定義できない、ということです。

たとえばコーシーの主値なら、p.v.∫cos[x]/x dx=0とすることはできます。要は披積分関数は原点と±∞で可積分性がないので、積分区間を-1/εから-εとεから1/εまで分けて、ここでの積分値を求めておいて(当然εの関数になる)それでεの0への極限を取るのです。原点をのぞくR上の局所可積分な奇関数のコーシーの主値は明らかに0です。

1/xのフーリエ変換を求めたいのであれば、♯2様も書かれている通り、超関数と見てフーリエ変換しないとダメですが、1/xはR上で可積分でないので、R上の超関数と思うことも不可能です。そこでいくつか解釈があるわけですが、ひとつはRから原点をのぞいた部分で、一般の超関数である、と思う方法、そのほかに、1/xをテスト関数φに対して、p.v.∫φ/x dxを対応させる超関数だと思う方法です。どちらの方法でもいいと思いますが、後者だとフーリエ変換の原点での値が不透明になるのが欠点といえるかも知れません。このことは♯2様もご指摘なさっている通りです。前者だと、そもそも定義域から原点が外れているので、このような問題を考えずに済みますが、テスト関数が原点近傍の外に台を持つようなクラスにやや制限されてしまうのがちょっとした難点なのかも知れません。ですが、実用上ほぼ問題はないと思います。どちらでもほぼ同様の計算ですが、前者を例に簡単に計算を紹介します。F[・]でフーリエ変換を表します。テスト関数φはR-{0}上のコンパクトな台を持つ滑らかな関数とします。

<F[1/x],φ>=<1/x,F[φ]>=∫_{ξ>0}(F[φ](ξ)-F[φ](-ξ))/ξ dξ
=∫_{x≠0}φ(x)∫_{ξ>0}2sin(xξ)/(iξ) dx dξ

ここでx≠0なので、x>0かx<0ですが、このときsin(xξ)/ξのξ>0での積分値はsgn(x)π/2になるわけですから、結局

<F[1/x],φ>=<-sgn(x)iπ,φ>

となり、フーリエ変換は-sgn(x)iπになります。ただし原点は定義しません。コーシーの主値でシュワルツクラス超関数でいくと-sgn(x)iπで、原点での値は好きにしてよい、ということになります。超関数理論では、ルベーグ零集合で値を好きに変えても同じ超関数を表すと解釈するからです。

さらにもうひとつ注意しておきますが、コーシーの主値以外の解釈をすると、まったく異なった結果になります。たとえば1/xをR上で積分するのに、原点近傍を(-ε,2ε)でくりぬいてεを0に飛ばす、などという議論をすると、積分値は0ではなく、log 2になってしまいます。要は解釈次第で1/xは超関数レベルで見ても一意的な定め方はないということです。

>>♯2様へ
f(x)+Aδ(x)をR上の関数と思って、原点以外では値が等しい、というような議論は少し乱暴ではないですか?そもそもδ(x)はサポートが原点のみの"超関数"なわけですから、R-{0}上の超関数と思って、同じだという理屈なら分かります。f(x)の原点での値を任意に変えてもよい、というような議論なら理解できますが、デルタ関数みたいなものを加えてしまうとフーリエ変換レベルでしか違いが見えにくいというよりは、そもそも関数レベルでも異なるものになると思います。というより、かたや関数(A=0)で、かたや超関数(A≠0)なわけだから、関数レベルでの比較はできないわけです。またδの任意回の超関数微分を加えてもやはり原点以外では値は一致する、なんていい方ができてしまいますし。
    • good
    • 0
この回答へのお礼

なるほど。コーシーの主値としてとらえると極限計算で答えがでるわけですね。
関数としてではなく超関数としてとらえればいいということも分かりました。しかし、色々な解釈の仕方があることに驚きました。
丁寧なご回答、ありがとうございました。

お礼日時:2006/11/25 12:45

 べき関数のフーリエ変換の話であれば、相手にしているのは関数というより超関数である(フーリエ変換は超関数から超関数への変換である)と思った方が見通しが良いでしょう。


 たとえば定数関数
h(x) = 1
のフーリエ変換は、この定数関数を超関数だと思えばなんでもないけれども、普通の関数の範囲で考えると答が出ません。一般に、n次の多項式のフーリエ変換も、多項式を超関数とみなすことによって計算でき、答には超関数(具体的にはδ関数のn階導関数)がアカラサマに現れて来ます。

 同様に、1/xのフーリエ変換を考えるに際して、「超関数f(x)はx≠0において 1/x と一致するような奇の超関数である」と定義して(「奇」であるから、f(0)=0)、この超関数f(x)をフーリエ変換すると宜しいでしょう。
 といのは、
g(x) = f(x)+Aδ(x) (Aは任意の定数)
であっても gは x≠0において 1/x と一致します。「x≠0において 1/x と一致する」というだけではAδ(x)の分だけ不定性があるわけです。言い換えれば、f(x)が「奇」であることを要請したこと(つまり A=0にしたこと)によって、コーシーの主値に寄与する成分以外をあらかじめ捨てたことになっています。

 さて、f(x)は奇であるから
∫(-∞→∞)cosx f(x) dx = 0
であり、従ってf(x)のフーリエ変換は純虚数を値とする超関数になります。で、その中に符号関数 sgn が現れますね。じゃ、sgn(x)はx=0のところで一体どうなってるんでしょうか?
 sgn(x)の場合も、奇であるということを要請しないとsgn(x)+A δ(x) と区別できなくなります。「sgn(x)のフーリエ変換をしろと言われたらx=0のところだけ飛ばして積分すればいいじゃん」というのは、A δ(x) の成分を捨てて計算するということと同義であり、コーシーの主値を計算しているということとも同義です。
 つまり、1/xもsgn(x)も、普通の関数の意味で定義したのでは「x≠0のところでは…という性質を持つもの」とだけしか指定できていませんから、δ関数を加えてもこの性質は変わらない。けれども、フーリエ変換するとδ関数が定数項になって、はっきり見えてしまう。だから、超関数の世界で話をした方がδ(x)の成分を明示的に扱えて見通しが良い、って仕掛けです。
    • good
    • 0

いったいどういう動機でこの問題を考えているのですか?思いつきでやってみようと思ったのでしょうか。

それとも大学かどこかで出題された問題ですか?

いずれにせよ、Cos[x]は原点の近傍で1ですから、披積分関数は原点の近傍で1/xとなるので、可積分ではありません。無理やり意味をつけてやるか、あるいはコーシーの主値を考えれば、Cos[x]/xは奇関数であることにより、積分値は0であるとするのが最も妥当かも知れません。ただし考えている問題によってはこれが0とすることは無意味である可能性があります。

原点は特異点(single pole)であり、ここを避けての積分なら可能(たとえばIm[z]=1上で積分する、などなら可能ですが、特異点を含む積分路で線積分を定義することは出来ません。除去可能なSin[x]/xなら例外ですが。
    • good
    • 0
この回答へのお礼

すぐに回答ありがとうございます。

今フーリエ変換などを勉強していて、1/x の逆フーリエ変換を求める過程で
e^(ix)をcosにsin分けてやってみたらどうなるかと考えていました。
奇関数として0としてやると確かに計算は進みますね。でも可積分ではないものを考えていいのでしょうか…。

お礼日時:2006/11/23 11:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています