2010年10月11日星期一

给Mac下的Lyx配置拼写检查

最近写东西,发现mac下的Lyx没有拼写检查非常的郁闷。结果按照Lyx官网上的指南做下来,一切倒也挺顺利。现在,在随便做个总结吧。

首先,可以在Lyx官网看一下大致的安装步骤,点击这里

按照教程里的,首先得有G++的编译环境。官方文件上,推荐先装了XCode,这是个大家伙。接下来,要先安装cocoAspell,一路点next就行。接下来就是稍微麻烦点的aspell了。

1. 先从aspell的官方上下载aspell最新版的代码(目前:0.60.6)。(稍候,还需要再下字典)

2. 接下来解压缩下载的包,放到系统目录下/library/spelling目录下。中文系统的话,就是资源库下面的spelling目录下。

3. 然后打开terminal(终端),cd到刚才的那个目录下,用下面的命令:
./configure

4. 理论上应该啥问题都不会发生,然后再输入:
make

5. 理论上应该啥问题都不会发生,最好再输入:
sudo make install

按提示输入完密码后,应该就装好了。这样的操作要做两遍,一遍装aspell软件,一遍装字典。如果还想装其他字典,每个字典都要按1-5操作一遍。

6. 最后,再Lyx里找到reconfigure(重新配置),之后重新启动lyx后,拼写检查应该就可以用了。

2010年9月28日星期二

Gaussian Elimination without pivoting

Given a matrix A (nXn), define the a series matrices as following:

A_1 = | a_{1,1} |
        
         | a_{1,1} a_{1,2} |
A_2 = | a_{2,1} a_{2,2} | 

         | a_{1,1} a_{1,2} a_{1,3} |
A_3 = | a_{2,1} a_{2,2} a_{2,3} |
         | a_{3,1} a_{3,2} a_{3,3} |

Now, it could be verified that we can using Gaussian Elimination for matrix A without pivoting if and only if A_1, A_2, \cdots, A_n are all non-singular.

2010年9月27日星期一

I don’t really understand Gaussian Elimination!

That’s right! You think you know it, but unfortunately that might be not true!

The baby-level thing – Gaussian Elimination is quite straightforward.  But the following things might be not that familiar to you. First of all, GE could give us the LU decomposition for most matrices. Second, GE is connected to the so-called completing squares in some interesting ways.

Anyway, I have to stop this post.

2010年2月2日星期二

悲剧

终于体会到,为啥对于某些类,要设计诸如GetValue和SetValue的接口函数了,而不是直接采用赋值。悲剧。。。

2009年12月17日星期四

算法考试结束

不知道以后会不会忘了

活着

这部电影,我看了

2009年12月8日星期二

关于这么一个指针传参数的问题

今天在写一个函数,就是要重新给一个指针分配一块内存。比如
void renew(int * array, int b)
{
     delete [] array;
     int size = 2*b;
     array = new int[size];
     memset(array,13,sizeof(int)*size);
}
void main()
{
     int * array;
     int size = 13;
     array = new int [size];
     memset(array,0,sizeof(int)*size);
     renew(array);
     delete [] array;
}
结果胡折腾了一会,企图修改数组的内容,实际上毛用都没。后来哥悟到了,具体参考这里
不过哥哥有个比那文章稍好点的解决方法,那文章说真要用,就用int **。其实当然也可用一个指针的拷贝,这样具体代码都不用改,那么,请听题,如果修改renew函数的参数?
A) void renew( &(int * array), int b)
B) void renew( int &(*array), int b)
C) void renew( int &* array, int b)
D) void renew( int *& array, int b)

void renew(int *&array, int b)