=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/changelog-ja.tex,v retrieving revision 1.35 retrieving revision 1.37 diff -u -p -r1.35 -r1.37 --- OpenXM/src/kan96xx/Doc/changelog-ja.tex 2015/10/12 11:29:48 1.35 +++ OpenXM/src/kan96xx/Doc/changelog-ja.tex 2020/03/14 00:50:55 1.37 @@ -1,8 +1,9 @@ -% $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.34 2013/09/26 05:33:06 takayama Exp $ +% $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.36 2018/05/02 02:28:13 takayama Exp $ \documentclass{jarticle} \title{ChangeLog \\ ---kan96xx, kxx, k097} \author{Nobuki Takayama} \date{} +\usepackage{url} \begin{document} \maketitle @@ -129,6 +130,7 @@ \section{2004-09-05, グレブナfanの計算} \begin{enumerate} \item polymake が必要. 9/1, 9/2, 9/3, 9/4 のノートも参照. +@s/2004/08/21-note.pdf に変数等の説明あり. \item OpenXM の cvs への commit は大きい区切りで. 細かい変更は {\tt eventail/cone.sm1} で. \item {\tt OpenXM/src/kan96xx/Doc/gfan.sm1} 1.1 @@ -904,6 +906,77 @@ void *sGC_malloc(int n); ./ox_sm1d ${WFILE} +env CONTENT_LENGTH=`wc -m ${WFILE} | awk '{print $1}'` sm1 -q -s "[(parse) (cgi.sm1) pushfile] extension cgiPolymake quit " <${WFILE} +rm -f ${WFILE} +exit 0 +: rm -f ${WFILE} +\end{verbatim} +} +送信側の {\tt cgiQueryPolymake.curl} は curl の form option を用いて +post message をする. +キーは {\tt oxMessageBody} である. +送る form は {\tt /tmp/sm1-q-cgi.txt???} に生成される. +ここで ??? は pid である. +結果を受け取ったらこの一時ファイルは {\tt OpenXM\_tmp} 環境変数で指定される +folder へ移動される. +{\rm /tmp/sm1-q-cgi*} は動作エラー等により残ることがあるので定期的に削除することが +望ましい. +{\tt cgiQueryPolymake.curl} は polymake version 2 形式の出力を文字列の list として戻す. + +これを tree 形式等に変換しているのは {\tt kan96xx/trans} 内のソースである. +このフォルダはデータ形式の変換等のテストケースとして作成された. +考え方としては, +\begin{center} +\fbox{tree 形式のデータ} $\Leftrightarrow$ +\fbox{tfb 形式のデータ} $\Leftrightarrow$ \fbox{polymake 形式} +$\Leftrightarrow$ \fbox{polymake web server} +\end{center} +{\tt polymake2tfb} は polymake version 2 のファイルを入力とすると +tfb 形式のデータを出力する. +{\tiny +\begin{verbatim} +polymake2tfb < ~/.OpenXM_tmp/sm1-q-cgi-out.txt37402 +polymake.data(polymake.POINTS([[1,0],[1,1]]),polymake.FACETS([[1,-1],[0,1]]),polymake.AFFINE_HULL()) +\end{verbatim} +} +tfb 形式のデータは {\tt ox\_k0} が parse して, それを tree 形式に変換している. +逆変換も {\tt ox\_k0} が行う +(ソース {\tt polymake.sm1}, 関数 {\tt tfbToTree} を参照). \end{document}