japanese translation updated for fftw module. 95/14495/2
Rui Hirokawa [Sun, 4 May 2014 04:11:38 +0000 (13:11 +0900)]
Change-Id: I23cd73ba45b7e74b4cad183b066b047b0a8875cb

scilab/modules/fftw/help/ja_JP/fftw.xml [deleted file]
scilab/modules/fftw/help/ja_JP/fftw_flags.xml
scilab/modules/fftw/help/ja_JP/fftw_forget_wisdom.xml
scilab/modules/fftw/help/ja_JP/get_fftw_wisdom.xml
scilab/modules/fftw/help/ja_JP/set_fftw_wisdom.xml

diff --git a/scilab/modules/fftw/help/ja_JP/fftw.xml b/scilab/modules/fftw/help/ja_JP/fftw.xml
deleted file mode 100644 (file)
index a3fc475..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2007 - INRIA
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="fftw" xml:lang="ja">
-    <refnamediv>
-        <refname>fftw</refname>
-        <refpurpose>fftwライブラリに基づく高速フーリエ変換</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>呼び出し手順</title>
-        <synopsis>[y]=fftw(x)
-            [y]=fftw(x,sign)
-            [y]=fftw(x,sign,dim,incr)
-            [y]=fftw(x,sign,[dim1 dim2 ...dimN],[incr1 incr2 ...incrN])
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>パラメータ</title>
-        <variablelist>
-            <varlistentry>
-                <term>y,x</term>
-                <listitem>
-                    <para>実数/複素数データの行列/ベクトル. 変換される入出力データ.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>sign</term>
-                <listitem>
-                    <para>整数. 1 または -1. 直接または間接変換を指定します.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>dim</term>
-                <listitem>
-                    <para>整数. 変換の次元(長さ)を指定します.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>incr</term>
-                <listitem>
-                    <para>整数. 変換の幅を設定します.</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>説明</title>
-        <para>この関数は, FFTWライブラリにより順方向/逆方向の離散フーリエ変換 (DFT)
-            を行います.
-        </para>
-        <para>この関数によりベクトル, 2次元, 多次元変換を計算できます.</para>
-        <para>fftw 構文の詳細については,
-            <link linkend="fft">fft</link> scilab 関数を参照ください.
-        </para>
-        <para>FFTWライブラリの詳細については,FFTW Web サイトを参照ください
-            : <ulink url="http://www.fftw.org">http://www.fftw.org</ulink>
-        </para>
-        <para>注意: fftw 関数は,再利用するために
-            最新のパラメータを自動的にメモリに保存します.
-        </para>
-        <para>これにより,連続的なコールを行った場合の
-            所要時間が大幅に改善されます.
-        </para>
-    </refsection>
-    <refsection>
-        <title>例</title>
-        <programlisting role="example"><![CDATA[ 
-//simple vector direct transform
-a = rand(50,1)+%i*rand(50,1);
-y = fftw(a);
-y = fftw(a,-1);
-//inverse transform
-b = fftw(y,1);
-//2D transform
-a = rand(512,512)+%i*rand(512,512);
-y = fftw(a);
-//M-D transform -old calling sequence-
-a = rand(120,1);
-y = a;
-dim=[5 6 4];incr=[1 5 30];
-for i=1:3
-  y = fftw(y,-1,dim(i),incr(i));
-end
-//M-D transform -new calling sequence-
-//More efficient than old
-y = fftw(a,-1,[5 6 4],[1 5 30]);
-b = fftw(y,1,[5 6 4],[1 5 30]);
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>参照</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="fftw_flags">fftw_flags</link>
-            </member>
-            <member>
-                <link linkend="get_fftw_wisdom">get_fftw_wisdom</link>
-            </member>
-            <member>
-                <link linkend="set_fftw_wisdom">set_fftw_wisdom</link>
-            </member>
-            <member>
-                <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link>
-            </member>
-        </simplelist>
-    </refsection>
-    <refsection>
-        <title>参考文献</title>
-        <para>
-            Matteo Frigo and Steven G. Johnson, "FFTW Documentation" <ulink url="http://www.fftw.org/#documentation">http://www.fftw.org/#documentation</ulink>
-        </para>
-    </refsection>
-</refentry>
index b9765fa..b7d70a8 100644 (file)
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="fftw_flags" xml:lang="ja">
     <refnamediv>
         <refname>fftw_flags</refname>
-        <refpurpose>fftw関数の高速フーリエ変換の計算手法を設定する</refpurpose>
+        <refpurpose>fftプランナアルゴリズム選択用手法を設定する</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>呼び出し手順</title>
-        <synopsis>[a,[S]]=fftw_flags([x1;x2;...])</synopsis>
+        <synopsis>[a,[S]]=fftw_flags(flag)</synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>パラメータ</title>
+        <title>引数</title>
         <variablelist>
             <varlistentry>
-                <term>[x1;x2;...]</term>
+                <term>flag</term>
                 <listitem>
-                    <para>文字列および整数の行列.
-                        fftwのfft計算の手法を切替えるエントリ.
+                    <para>
+                        文字列または整数. プランナアルゴリズムを指定.
+                       下記参照.
                     </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>a</term>
                 <listitem>
-                    <para>整数. fftw関数のフラグのカレントの値を指定します.</para>
+                    <para>整数. プランナコード.下記参照.
+                   </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>S</term>
                 <listitem>
-                    <para>文字列行列. fftwフラグの文字列の値を指定します.</para>
+                    <para>文字列行列. プランナ名.</para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
         <title>説明</title>
-        <para>この関数は,
-            <link linkend="fftw">fftw</link>関数で使用される
-            <literal>fftw_plan_guru_split_dft</literal>関数の
-            <literal>unsigned flags</literal>パラメータを変更します. 
+        <para>
+         この関数により,fftwプランナアルゴリズムを定義する際に
+         使用されるアルゴリズムを選択できます.
+         プランナはfftを計算する効率的な手法を定義する
+         際に使用されます.
         </para>
-        <para>デフォルト値はFFTW_ESTIMATEです</para>
-        <para>以下のエントリが使用可能です :</para>
+        <para>
+          <warning>
+            警告: デフォルト値 "FFTW_ESTIMATE" は通常かなり効率的な
+           プランです.
+           fft効率が実際に重要で
+           類似のコールを数多く行う場合にのみ変更を検討ください.
+          </warning>
+        </para>
+        <para>以下のエントリを指定可能です :</para>
         <itemizedlist>
             <listitem>
-                <para>FFTW_MEASURE または 0</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_DESTROY_INPUT または 1</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_UNALIGNED または 2</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_CONSERVE_MEMORY または 4</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_EXHAUSTIVE または 8</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_PRESERVE_INPUT または 16</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_PATIENT または 32</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_ESTIMATE または 64</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_ESTIMATE_PATIENT または 128</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_BELIEVE_PCOST または 256</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_DFT_R2HC または512</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_NONTHREADED または 1024</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_BUFFERING または 2048</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_INDIRECT_OP または 4096</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_ALLOW_LARGE_GENERIC または 8192</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_RANK_SPLITS または 16384</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_VRANK_SPLITS または 32768</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_VRECURSE または 65536</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_SIMD または 131072</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_SLOW または 262144</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_NO_FIXED_RADIX_LARGE_N または 524288</para>
-            </listitem>
-            <listitem>
-                <para>FFTW_ALLOW_PRUNING または 1048576</para>
+                <para>{FFTW_ESTIMATE} または 64. 
+                 これを指定すると, 他のアルゴリズムで使用される
+                 実際の観測量の代わりに, 
+                 (おそらく準最適の)プランを簡単に選択できる
+                 簡単な経験則が使用されます.
+                 このフラグを指定すると,
+                 入力/出力配列はプランニングの間は上書きされません.
+                 これがデフォルト値です.
+                </para>
+            </listitem>
+            <listitem>
+                <para>FFTW_MEASURE または 0. 
+                 実際に計算した複数回のFFTとそれらの実行時間
+                 の計測値から最適なプランをみつけるようFFTWに指示します.
+                 実行する計算機に依存した時間がかかります(通常は数秒).
+                </para>
+            </listitem>
+            <listitem>
+                <para>FFTW_PATIENT または 32. 
+                 "FFTW_MEASURE"と似ていますが, 
+                 より広範なアルゴリズムを検討し,しばしば
+                 "より最適な"プランを出力します
+                 (特に大規模な変換の場合).
+                 しかし,プランニング時間は数倍かかります
+                 (特に大規模な変換の場合).
+                </para>
+            </listitem>
+            
+            <listitem>
+                <para>FFTW_EXHAUSTIVE または 8. 
+                 "FFTW_PATIENT"に似ていますが, 
+                 高速と思われないようなものを多く含む
+                 さらにより広範なアルゴリズムを検討します.
+                 最も最適なプランを出力しますが,
+                 プランニング時間は著しく増加します.
+                </para>
             </listitem>
         </itemizedlist>
-        <para>注意 :  FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE を使用した場合,
-            fftwを2回コールする必要があります.
-            (最初のコールは初期化のため, 二回目以降は計算のためです)
+        
+        
+        <para>注意 : FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE を使用する時,
+         fftwを2回コールする必要があります.
+         (最初のコールは初期化用, 2回目以降は計算用)
         </para>
     </refsection>
     <refsection>
         <title>例</title>
         <programlisting role="example"><![CDATA[ 
-//return the integer value of the flag
-fftw_flags()
-//change flags
-fftw_flags(["FFTW_MEASURE";"FFTW_CONSERVE_MEMORY"]);
-//change flags and display current value of fftw flags (both integer and strings)
-[a,S]=fftw_flags("FFTW_PATIENT")
+A=rand(1, 2^9 + 2^15);
+fftw_forget_wisdom();
+fftw_flags("FFTW_ESTIMATE");
+timer(); y=fft(A); timer()//最初のコールでプランを定義
+timer(); y=fft(A); timer() //同じコールを続ける
+fftw_flags("FFTW_MEASURE");
+fftw_forget_wisdom();
+timer(); y=fft(A); timer()//最初のコールでプランを定義, 5分ほどかかる
+timer(); y=fft(A); timer() //同じコールを続ける
+
  ]]></programlisting>
     </refsection>
     <refsection>
         <title>参考</title>
         <simplelist type="inline">
             <member>
-                <link linkend="fftw">fftw</link>
+                <link linkend="fft">fft</link>
+            </member>
+            <member>
+                <link linkend="set_fftw_wisdom">set_fftw_wisdom</link>
+            </member>
+            <member>
+                <link linkend="get_fftw_wisdom">get_fftw_wisdom</link>
+            </member>
+            <member>
+                <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link>
             </member>
         </simplelist>
     </refsection>
index 410de0f..2363ff5 100644 (file)
         </para>
     </refsection>
     <refsection>
+        <title>注意</title>
+        <para> 
+         この関数は, 
+         MKL intelライブラリを使用する
+         Scilabバージョンではなにもしません
+         (特にWindows用のScilab公式版).
+        </para>
+    </refsection>
+
+    <refsection>
         <title>例</title>
         <programlisting role="example"><![CDATA[ 
-//return fftw wisdom
+//fftw wisdomを返す
 txt=get_fftw_wisdom();
-//set fftw wisdom
+//fftw wisdomを設定
 set_fftw_wisdom(txt);
-//reset fftw wisdom
+//fftw wisdomをリセット
 fftw_forget_wisdom();
  ]]></programlisting>
     </refsection>
@@ -40,9 +50,6 @@ fftw_forget_wisdom();
         <title>参照</title>
         <simplelist type="inline">
             <member>
-                <link linkend="fftw">fftw</link>
-            </member>
-            <member>
                 <link linkend="get_fftw_wisdom">get_fftw_wisdom</link>
             </member>
             <member>
index 798e165..d1e4435 100644 (file)
@@ -20,7 +20,7 @@
         <synopsis>[txt]=get_fftw_wisdom()</synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>パラメータ</title>
+        <title>引数</title>
         <variablelist>
             <varlistentry>
                 <term>txt</term>
         </variablelist>
     </refsection>
     <refsection>
-        <title>説明</title>
-        <para>
-            この関数は文字列行列として fftw wisdom を返します.
+        <title>注意</title>
+        <para> 
+         この関数は, 
+         MKL intelライブラリを使用する
+         Scilabバージョンでは実装されていません
+         (特にWindows用のScilab公式版).
         </para>
     </refsection>
     <refsection>
+      <title>説明</title>
+      <para>
+        この関数は,文字列行列として fftw wisdom を返します.
+        <literal>get_fftw_wisdom</literal> および
+        <literal>set_fftw_wisdom</literal> を使用することで,
+       同じデータの大きさと
+       <link linkend="fft">fft</link>関数に同じオプションにして
+       多くのコールを行う場合に
+       fft効率を最適化できるようになります.
+      </para>
+    </refsection>
+    <refsection>
         <title>例</title>
         <programlisting role="example"><![CDATA[ 
-//return fftw wisdom
-txt=get_fftw_wisdom();
-//set fftw wisdom
-set_fftw_wisdom(txt);
-//reset fftw wisdom
-fftw_forget_wisdom();
+sample_rate=1000;
+t = 0:1/sample_rate:40;
+N=size(t,'*'); //サンプル数
+s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);
+fftw_forget_wisdom();  
+timer();y=fft(s);t1=timer() //最初のコール
+timer();y=fft(s);t2=timer()  //2番目のコールは保存したwisdomを使用
+t1/t2
+wisdom1=get_fftw_wisdom(); //カレントの wisdomを保存
+//異なるfftを実行
+A = zeros(256,256);
+A(5:24,13:17) = 1;
+X = fft(A);
+
+//s と同じ大きさで新規信号を作成
+s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1);
+//保存したwisdomを回復
+set_fftw_wisdom(wisdom1);
+timer();y=fft(s);t3=timer()
+t3/t2
+
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
         <title>参照</title>
         <simplelist type="inline">
             <member>
-                <link linkend="fftw">fftw</link>
-            </member>
-            <member>
                 <link linkend="set_fftw_wisdom">set_fftw_wisdom</link>
             </member>
             <member>
index 81bfe9c..f12800a 100644 (file)
@@ -20,7 +20,7 @@
         <synopsis>set_fftw_wisdom(txt)</synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>パラメータ</title>
+        <title>引数</title>
         <variablelist>
             <varlistentry>
                 <term>txt</term>
         </variablelist>
     </refsection>
     <refsection>
-        <title>説明</title>
-        <para>
-            この関数は文字列行列により fftw wisdom を設定します.
+        <title>注意</title>
+        <para> 
+         この関数は, 
+         MKL intelライブラリを使用する
+         Scilabバージョンでは実装されていません
+         (特にWindows用のScilab公式版).
         </para>
     </refsection>
     <refsection>
+      <title>説明</title>
+      <para>
+        この関数は文字列行列により fftw wisdom を設定します.
+        <literal>get_fftw_wisdom</literal> および
+        <literal>set_fftw_wisdom</literal> を使用することで,
+       同じデータの大きさと
+       <link linkend="fft">fft</link>関数に同じオプションにして
+       多くのコールを行う場合に
+       fft効率を最適化できるようになります.
+      </para>
+    </refsection>
+    <refsection>
         <title>例</title>
         <programlisting role="example"><![CDATA[ 
-//return fftw wisdom
-txt=get_fftw_wisdom();
-//set fftw wisdom
-set_fftw_wisdom(txt);
-//reset fftw wisdom
-fftw_forget_wisdom();
+sample_rate=1000;
+t = 0:1/sample_rate:40;
+N=size(t,'*'); //サンプル数
+s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);
+fftw_forget_wisdom();  
+timer();y=fft(s);t1=timer() //最初のコール
+timer();y=fft(s);t2=timer()  //2番目のコールは保存したwisdomを使用
+t1/t2
+wisdom1=get_fftw_wisdom(); //カレントの wisdomを保存
+//異なるfftを実行
+A = zeros(256,256);
+A(5:24,13:17) = 1;
+X = fft(A);
+
+//s と同じ大きさで新規信号を作成
+s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1);
+//保存したwisdomを回復
+set_fftw_wisdom(wisdom1);
+timer();y=fft(s);t3=timer()
+t3/t2
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
         <title>参照</title>
         <simplelist type="inline">
             <member>
-                <link linkend="fftw">fftw</link>
-            </member>
-            <member>
                 <link linkend="get_fftw_wisdom">get_fftw_wisdom</link>
             </member>
             <member>