Hoxide 个人Wiki 森林

-- hoxide [2004-08-15 04:47:13]

1. Hoxide的兴趣

简述

1.1. 计算机

1.1.1. 开源软件推广

1.1.2. Python推广

1.1.3. Pythonic 的函式编程

1.1.4. Lisp

1.1.5. Prolog

1.1.6. emacs

1.1.7. PDF制作

如何制作基于 LaTex 的中文PDF

::-- ZoomQuiet [2005-03-20 05:31:38]

2. 概要

  • TeX 提供了一套功能强大并且十分灵活的排版语言,它多达 900 多条指令,并且 TeX 有宏功能,用户可以不断地定义自己适用的新命令来扩展 TeX 系统的功能。许多人利用 TeX 提供的宏定义功能对 TeX 进行了二次开发,其中比较著名的有美国数学学会推荐的非常适合于数学家使用的 AMS-TeX 以及适合于一般文章、报告、书籍的 LaTeX 系统。 TeX 系统是公认的数学公式排得最好的系统。美国数学学会(AMS)∞ 鼓励数学家们使用 TeX 系统向它的期刊投稿。世界上许多一流的出版社如 Kluwer、Addison-Wesley、牛津大学出版社等也利用 TeX 系统出版书籍和期刊。

2.1. 准备环境

2.2. 步骤

2.2.1. 如何制作幻灯片

  • 首先,是tex的头部:

\documentclass[cjk]{beamer}  % 使用Beamer包
%\hypersetup{pdfpagemode=FullScreen}
\usepackage{CJK}   % 中文环境
\usepackage{indentfirst}

\usetheme{Madrid}  % 采用的主题
\usecolortheme{albatross} % 采用的配色。
  • Beamer中的幻灯是以frame为单位组织的,通过frame内容的变化达到类似ppt动态的效果。下面是示例:

\section{Intro}
\subsection{First part}
\frame{
  \frametitle{First Part: Keywords}
  \begin{itemize}
       \item<1-> Normal LaTeX class.\pause \\
            There are some descriptions more.
       \item<3-> Easy overlays.
       \item<4-> No external programs needed.
   \end{itemize}
}

这样可以看到三条item会逐步显示,并且,由于\pause命令,在Normal LaTeX Class显示完成后,会有一停顿,并在下一步,显示“There are some descriptions more”. 这个效果很适合做Define/Example。 还有一种方法:

\begin{itemize}
\item<1-> itemtitle1 \only<2>{\\ itemdescription1}
\item<3-> itemtitle2 \only<4>{\\ itemdescription2}
...
\end{itemize}

这样的description会在显示下一个Item时候消失。

  • 编译

在Adobe Reader中,显示在一旁的书签(Bookmark)是Unicode的。这样一来,如果单纯是使用pdflatex生成pdf将会显示乱码。所以,若要生成中文的Bookmark就需要如下:

pdflatex slide.tex
pdflatex slide.tex
gbk2uni slide.out
pdflatex slide.tex

2.3. 注意

3. 反馈

-- 如何制作基于 LaTex 的中文PDF

3.1. .net

.net是个非常好的虚拟机, 正在我努力学习中, 研读ECMA-335. 软件环境开发用mono, 运行环境.net Framework和mono.

3.1.1. .net下的虚拟机汇编语言

3.2. 数学

3.3. 数学

3.3.1. 几何学

  • 旋转的长方体 rbox

3.3.2. 代数学

  • 我的代数学得很差, 在这里做个学习笔记,和大家以前研讨,HD不反对吧.
  • 上学期期末考试的滑铁卢啊,差点没及格.一定要补一下,把所以没搞清楚的问题都整理到 高等代数问题集

  • 即将开始抽象代数的学习 抽象代数问题集

3.4. 量子计算

3.5. 数学软件

含有章节索引的中文 文章模板

::-- hoxide [2005-07-30 14:02:03]

3.6. Maxima

3.6.1. 简介

  • 用LISP语言编写的强大的计算机代数系统.

3.6.2. 官方页面

http://maxima.sourceforge.net/

3.6.3. 例子

3.6.4. 讨论

  • 暂时还不太会用, 比较复杂.

含有章节索引的中文 文章模板

::-- hoxide [2005-07-30 12:36:55]

3.7. Mathomatic

3.7.1. 简介

  • 是 Mathomatic 不是 Mathematica , 公元2005年7月30日, 在更新 cygwin 的时候偶然发现的. Mathematica 是一个轻便的通用计算机代数系统 CAS (Computer Algebra System), 它是用C写成的, 使用 GNU LGPL license.

3.7.2. 官方页面

http://mathomatic.orgserve.de/math/

3.7.3. 文档

3.7.4. 例子

3.7.4.1. 一些简单的例子

Mathomatic Version 12.3.2 (www.mathomatic.com)
Copyright (C) 1987-2005 George Gesslein II.
40 equation spaces allocated (total size is 9600 KBytes).

1-> ; Simplification tests.
1-> 
1-> clear all
1-> t=2*(x^2 - y^2)^6 - (x^2 - y^2)^5*(2 x^2 - 3)

#1: t = (2*(((x^2) - (y^2))^6)) - ((((x^2) - (y^2))^5)*((2*(x^2)) - 3))

1-> simplify

#1: t = (((y^2) - (x^2))^5)*((2*(y^2)) - 3)

1-> t=a^3/((a-b)*(a-c)) + b^3/((b-c)*(b-a)) + c^3/((c-a)*(c-b))

              (a^3)               (b^3)               (c^3)
#2: t = ----------------- + ----------------- + -----------------
        ((a - b)*(a - c))   ((b - c)*(b - a))   ((c - a)*(c - b))

2-> simplify

#2: t = a + b + c

2-> t=(x^6+a^6)*(x+1)/((x^6+a^6)*(x^2-a^2)+a^2*x^2*(x^4-a^4))+a^2*x^2*(x+1)/(x^6-a^6-a^2*x^2*(x^2-a^2))

                              ((x^6) + (a^6))*(x + 1)                                       (a^2)*(x^2)*(x + 1)
#3: t = ------------------------------------------------------------------- + -----------------------------------------------
        ((((x^6) + (a^6))*((x^2) - (a^2))) + ((a^2)*(x^2)*((x^4) - (a^4))))   ((x^6) - (a^6) - ((a^2)*(x^2)*((x^2) - (a^2))))

3-> simplify
Found polynomial Greatest Common Divisor.  Division simplified.
Found polynomial Greatest Common Divisor.  Division simplified.

            (x + 1)
#3: t = ---------------
        ((x^2) - (a^2))

3-> t=((a*n + b*m)^2 + (a*m - b*n)^2) / ((a*p + b*q)^2 + (a*q - b*p)^2)

        ((((a*n) + (b*m))^2) + (((a*m) - (b*n))^2))
#4: t = -------------------------------------------
        ((((a*p) + (b*q))^2) + (((a*q) - (b*p))^2))

4-> simplify

        ((n^2) + (m^2))
#4: t = ---------------
        ((p^2) + (q^2))

4-> y=((p*x^2+(k-s)*x+r)^2-(p*x^2+(k+s)*x+r)^2)/((p*x^2+(k+t)*x+r)^2-(p*x^2+(k-t)*x+r)^2)

        ((((p*(x^2)) + ((k - s)*x) + r)^2) - (((p*(x^2)) + ((k + s)*x) + r)^2))
#5: y = -----------------------------------------------------------------------
        ((((p*(x^2)) + ((k + t)*x) + r)^2) - (((p*(x^2)) + ((k - t)*x) + r)^2))

5-> simplify

        -1*s
#5: y = ----
         t

5-> t=(1 - (1-(y+1)/(x+y+1)) / (1-x/(x+y+1))) / ((y+1)^2 - x / (1+x/(y-x+1))*(x*(y+1)/(y-x+1) - x))

                          (y + 1)
                   (1 - -----------)
                        (x + y + 1)
              (1 - -----------------)
                             x
                   (1 - -----------)
                        (x + y + 1)
#6: t = -----------------------------------
                           x*(y + 1)
                       x*(----------- - x)
                          (y - x + 1)
        (((y + 1)^2) - -------------------)
                                  x
                        (1 + -----------)
                             (y - x + 1)

6-> simplify
Found polynomial Greatest Common Divisor.  Division simplified.

                            1
#6: t = -----------------------------------------
        (1 + (y^2) + (2*y) + (x*(y + 1)) + (x^2))

6-> y=((2*((x*(x + (((x^2) - 1)^(1/2)))) - 1)) + 1)/((2*x*((x^2) - 1)) + ((((x^2) - 1)^(1/2))*((2*(x^2)) - 1)))

                                         1
               ((2*((x*(x + (((x^2) - 1)^-))) - 1)) + 1)
                                         2
#7: y = -------------------------------------------------------
                                           1
        ((2*x*((x^2) - 1)) + ((((x^2) - 1)^-)*((2*(x^2)) - 1)))
                                           2

7-> simplify

               1
#7: y = ---------------
                     1
        (((x^2) - 1)^-)
                     2


Thank you for using Mathomatic!

3.7.5. 讨论

  • 个人感觉非常好用, 比 Maxima 简单. --- Hoxide

含有章节缩影的FLOSS中文 文章模板

::-- hoxide [2005-07-30 12:48:24]

3.8. Octave

3.8.1. 简介

  • 和Matlab语言级兼容的数学环境, 最初用来辅助化学教学, 现在成长为有广泛用户支持的第一大开源计算环境.

3.8.2. 官方页面

http://www.octave.org/

3.8.3. 下载

octave-2.1.50a-inst.exe

3.8.4. 文档

3.8.5. 例子

3.8.6. 讨论

  • 前一段时间一直在用Octave, 总体不错, 但是虽然有Octave-forge的支持, Octave的库和Matlab比起来还是太单薄.
    • --- Hoxide

含有章节索引的FLOSS中文 文章模板

::-- hoxide [2005-07-30 12:48:24]

3.9. GNU Plot

3.9.1. 简介

  • GNU的数学绘图工具, 功能非常强大, 可以画出非常漂亮的图像, 并能输出为各种格式.

3.9.2. 官方页面

3.9.3. 文档

3.9.4. 例子

3.9.5. 讨论

  • GNU Plot对初学者来说的确有一定难度, 不过一旦你学会了他, 也就学会了有关数学绘图的基础知识, 用起来就得心应手. --- Hoxide

含有章节索引的中文 文章模板

::-- hoxide [2005-07-29 11:38:45]

4. MetaPost

简述

4.1. 用MetaPost 3d 创建三维动画

原来的脚本是linux下的, win下不好用, 偶改成用 ImageMagick, 和GhostScrpit.

/bin/rm -f animpoly.log
for i in `ls animpoly.*| grep 'animpoly.[0-9]'`;do
echo $i
echo '=============='
awk  < $i '{print} /^%%Page: /{print "181 156 translate\n"}' > $i.ps
gswin32c  -sDEVICE=ppm -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -r36 -q -sOutputFile=$i.ppm $i.ps
rm -f $i.ps
done
rm -f animpoly.gif
convert animpoly.*.ppm -adjoin animpoly.gif
rm -f animpoly.*.ppm

演示例子:

animpoly.gif

--- MetaPost Latex的配套绘图工具.

项目版本下载页面模板

::-- hoxide [2005-07-22 09:05:47]

5. GLPK

简述

GNU 线性规划工具箱 (GNU Linear Programming Kit). 线性规划是一类常见的规划问题, 国内普遍使用的是Lindo 和 Matlab 优化工具箱, 但这两个软件都是商业软件.

GLPK 是 GNU 的线性规划软件解决方案, 他快速通用, 不仅可处理 LP, MPS, 等标准 LP 问题描述格式文件, 而且还支持功能更强大的 GNU MathProg 建模语言.

GLPK 以标准的 GNU 代码包形式发布, 对unix上的用户简单得 configure/make/install 就可以使用了. 对windows上的用户暂未看到其他编译版本. 为此我用 Mingw 编译了一个版本, 提供下载. 另附 PdfLaTeX 编译的参考手册.

感谢 DreamY 关于Mingw编译环境使用方面的指导, 另外感谢 huangyi 在普通机器上测试了GLPK的第一个mingw编译版本. 使用Windows+Visual C++的用户,可以使用VC++的命令行工具nmake或者IDE进行编译.

6. 官方页面

http://www.gnu.org/software/glpk/glpk.html

6.1. 版本

说明

6.1.1. 独立文件

  • glpsol.exe

    • --- 独立的 LP/MIP solver, 一般只要这个文件就够了, 命令行工具.

C:\>glpsol --help
Usage: glpsol [options...] filename

General options:
   --glp             read LP/MIP model in GNU LP format
   --mps             read LP/MIP problem in fixed MPS format (default)
   --freemps         read LP/MIP problem in free MPS format
   --cpxlp           read LP/MIP problem in CPLEX LP format
   --math            read LP/MIP model written in GNU MathProg modeling
                     language
   -m filename, --model filename
                     read model section and optional data section from
                     filename (the same as --math)
   -d filename, --data filename
                     read data section from filename (for --math only);
                     if model file also has data section, that section
                     is ignored
   -y filename, --display filename
                     send display output to filename (for --math only);
                     by default the output is sent to stdout
   --min             minimization
   --max             maximization
   --scale           scale problem (default)
   --noscale         do not scale problem
   --simplex         use simplex method (default)
   --interior        use interior point method (for pure LP only)
   -o filename, --output filename
                     write solution to filename in plain text format
   --bounds filename
                     write sensitivity bounds to filename in plain
                     text format (LP only)
   --tmlim nnn       limit solution time to nnn seconds
   --memlim nnn      limit available memory to nnn megabytes
   --check           do not solve problem, check input data only
   --name probname   change problem name to probname
   --plain           use plain names of rows and columns (default)
   --orig            try using original names of rows and columns
                     (default for --mps)
   --wglp filename   write problem to filename in GNU LP format
   --wmps filename   write problem to filename in fixed MPS format
   --wfreemps filename
                     write problem to filename in free MPS format
   --wcpxlp filename write problem to filename in CPLEX LP format
   --wtxt filename   write problem to filename in plain text format
   -h, --help        display this help information and exit
   -v, --version     display program version and exit

Options specific to simplex method:
   --std             use standard initial basis of all slacks
   --adv             use advanced initial basis (default)
   --bas filename    read initial basis from filename in MPS format
   --steep           use steepest edge technique (default)
   --nosteep         use standard "textbook" pricing
   --relax           use Harris' two-pass ratio test (default)
   --norelax         use standard "textbook" ratio test
   --presol          use presolver (default; assumes --scale and --adv)
   --nopresol        do not use presolver
   --wbas filename   write final basis to filename in MPS format

Options specific to MIP:
   --nomip           consider all integer variables as continuous
                     (allows solving MIP as pure LP)
   --first           branch on first integer variable
   --last            branch on last integer variable
   --drtom           branch using heuristic by Driebeck and Tomlin
                     (default)
   --mostf           branch on most fractional varaible
   --dfs             backtrack using depth first search
   --bfs             backtrack using breadth first search
   --bestp           backtrack using the best projection heuristic
                     (default)
   --bestb           backtrack using node with best local bound

For description of the MPS and CPLEX LP formats see Reference Manual.
For description of the modeling language see "GLPK: Modeling Language
GNU MathProg". Both documents are included in the GLPK distribution.

See GLPK web page at <http://www.gnu.org/software/glpk/glpk.html>.

Please report bugs to <[email protected]>.

6.1.2. 完整程序

6.1.3. 参考手册

  • refman.pdf

    • --- GLPK 参考手册, 包括c API调用方法, 和glpsol的用法.
  • lang.pdf

    • --- Modeling Language GNU MathProg 语言参考

含有章节索引的中文 文章模板

::-- hoxide [2005-07-29 12:02:43]

Contents

  1. 例子

6.1.4. 例子

6.1.5. What's New

6.1.6. TODO

--- GNU Linear Programming Kit, GNU 线性规划工具箱.

6.2. 作业

含有章节索引的中文 文章模板

::-- hoxide [2005-08-07 16:12:03]

7. 作业收集

7.1. 05年暑假建模练习

含有章节索引的中文 文章模板

::-- hoxide [2005-07-29 11:55:15]

Contents

  1. 废话收集

7.2. 废话收集

  • 有废话就收集到这里~~ -- 好像又是废话 ~~~
  • 借宿舍旁理工楼中无线网络的光, 我现在可以在宿舍上网了, 不过要用学校的代理~~~.

目前只会用http, qq和msn基本解决. 刚才发现宿舍里一个网络信号非常好的地方, 居然有11Mbps, 其它地方则一直断线, 好像是因为水泥墙把信号挡住了. 好老~~的GC , 还是偶的无限网卡不行阿, 别的同学用起来速度很不错. Intel 的无线网卡果然烂.

7.2.1. 关于fp4python

8. pp

hoxide/pics

9. 联系方式

Hoxide (last edited 2009-12-25 07:15:15 by localhost)