Articles of 稀疏matrix

如何检查块是否存在于一个稀疏文件中(用于简单的写时拷贝)?

如何获得稀疏的块大小,并检查数据是否存在于稀疏文件中的reiserfs / ext3在给定的偏移量? 我想用它来实现使用FUSE的简单写时复制块设备。 或者我应该在一个单独的文件中保留一个位图?

rand()不返回随机值

它的一个小代码来生成一个随机厄米matrix厄密matrix 。 在每次调用rand()之前,我都调用了srand()。 但输出中仍然没有随机性。 我已经使用c99的复杂数据typesfunction来创build一个厄密matrix。 我不知道我错在哪里:( #include <stdio.h> #include <math.h> #include <complex.h> #include <stdlib.h> #include <time.h> #define MATSIZE 5 #define RAND_RANGE 100 double complex mat[MATSIZE][MATSIZE]; void gen_mat() { int i =0,j; int real; int img; for( ;i < MATSIZE; i++) { srand(time(NULL)); real = rand()%RAND_RANGE + 1; srand(time(NULL)); img = rand()%RAND_RANGE + 1; for(j = […]

远程linux服务器到远程linux服务器大型稀疏文件复制 – 如何?

我有两个双胞胎CentOS 5.4服务器,每个都安装了VMware Server。 假设我总是使用稀疏文件来pipe理我的VMware虚拟机,将虚拟机文件从一台服务器复制到另一台服务器的最可靠和最快速的方法是什么? 由于文件非常大(50 GB),vm的文件很难复制,但是由于它们是稀疏文件,我认为可以通过某些方法来提高复制的速度。

GNU八度,以一个数字为单位精度

在GNU Octave 3.4.3版本中,我想把一个matrix舍入到2个单位的精度上,像这样的一个matrix的内容。 mymatrix=[1.1234567, 2.12345; 3.1234567891, 4.1234]; disp(mymatrix); 这打印: 1.1235 2.1235 3.1235 4.1234 正如你所看到的,disp强制精度为“5”,我希望单位精度为2.我该怎么做?

scipy.sparse.linalg.spsolve在Linux系统上的大型稀疏matrix的令人惊讶的行为

我正在计算一个线性系统Ax = b的解,其中A是一个大的(通常是200,000行和列,用于相关的稠密matrix)稀疏matrix和大约100列的稀疏matrix。 当我在Windows系统(Python 2.7 ,scipy 0.14.0 )上运行我的代码时,使用以下命令 from scipy.sparse.linalg import spsolve … Temp = spsolve(A.tocsc(),b.tocsc()) 运行平稳,需要大约7 GB的RAM内存。 在Linux系统(相同的CPU,相同数量的RAM内存:64 GB,Linux Mint 17.3 ,python 2.7 ,scipy 0.13.3 )上运行完全相同的代码需要超过20 GB的RAM内存,以下错误消息: <function umfpack_di_numeric at …> failed with UMFPACK_ERROR_out_of_memory (参见1 ) <function umfpack_di_numeric at …> failed with UMFPACK_ERROR_out_of_memory 因为这个错误是依赖于操作系统的,所以我排除了有关matrixA和B的任何问题(与本文中提到的一些解决scheme相反),我试图find一个特定于Linux的修复程序。但是我不知道从哪里开始…有没有人会知道发生了什么? 为什么这样的问题是针对Linux系统的? 请在下面find完整的错误信息: Exception in Tkinter callback Traceback (most recent call […]

八度 – 内存不足或维度过大,八度的索引types

我意识到有3个问题有类似的exception信息。 不幸的是没有任何问题得到解答,评论无法解决我的问题。 我在64位版本的Windows 10系统上使用Octave 4.2.1,总共有16 GB RAM,运行时可以使用约11 GB的空间。 当我尝试乘以一个10×60000matrix的60000×10matrix八度出现以下exception: 错误:内存不足或维度太大,Octave的索引types 这种乘法会产生一个60000×60000的matrix,因此不应该是一个64位索引的问题。 我甚至不能做zeros(60000,60000); 我不明白我做错了什么。 有人能把我指向正确的方向吗?