::Blog信息::
名称: let comch pute be aos me you
作者: heteroclinic
域名: blog.mitbbs.com/heteroclinic
站点: BBS 未名空间站

档案日期:20101001000000 ~ 20101101000000


2010-10-31 13:03:23

主题: 处到贵版发言,求教各位大佬以及贤弟一个问题
两列波叠加, a 为正整数足够大, x in [1,a]
sin (pi * a /x) + sin (pi * x)
能不能滤掉无理数根。

提示: 本博文来自于 Physics 版



2010-10-29 17:30:52

主题: 太丢脸了,硬赖,上程序
int main () 
{
int composite = 11 * 37;




int itlimit = 40;
int bipart = (int)(sqrt(double( composite)));
int i = 0;
int b = 2;
int invb = composite/b;
int btb = b* invb;

for (;btb != composite && i < itlimit; i++) {
if (btb < composite) {
b = (b+bipart)/2;
invb = (composite/b);
btb = b* invb;
//continue;
} else if (btb > composite) {
b = (b+1)/2;
invb = (composite/b);
btb = b* invb;
}
cout<<"iterations: "<< i< cout<<"factor :"< }
cout<<"iterations: "<< i< cout<<"factor :"< return 1;
}

提示: 本博文来自于 Mathematics 版



2010-10-28 08:02:41

主题: 昨天发现了问题
sin (pi * a /x)
x 可以是分数,那么我们修正
sin (pi * a /x) + sin (x * pi);

这样行吗?

提示: 本博文来自于 Mathematics 版



2010-10-28 06:52:03

主题: 正式向站方提出
要求什么知道什么样的mitbbs管理员有权力察看用户未公开信息,
版主以及其他管理员是否有跨越板块的权限。
以及权限的设置是否与适用法律抵触。

最后,mitbbs 的 privacy policy.


提示: 本博文来自于 board 版



2010-10-27 20:36:49

主题: O(log(n))分解只有两个质数因子的合数
Study 曲线 sin(a * \pi / x), at 1+ derivative >0, at a- derivative <0.  sin(a * \pi / x) 于 x 轴没有交点, a 为质数,如a 为合数, 则与 x 轴有交点。

除非相交于sqrt(a), 交点也就是根成对出现。

如果a 是恰恰两个质数的乘积,则只有两个交点,观察曲线如何穿越 x轴,我们发现sin(a * \pi / x) 在 x = sqrt (a)小于零。 在 (1, sqrt(a)) ,sin(a * \pi / x) 有两部分,一部分大于零,零一部小于零。因此,可以用binary search 搜索。 开销 O(log(a)).

对于所有的sin(a * \pi / x) 在 x = sqrt (a)小于零情况,对binary search 进行改进,也可以搜索到a 的一个因子,因为 在x= 1 函数大于零, 在x= sqrt (a) 小于零。开销 O(log(a)).

对于sin(a * \pi / x) 在 x = sqrt (a)大于零情况,如有因子必在 (1,a^{1/4}).此条件无太大意义。




提示: 本博文来自于 Mathematics 版



2010-10-27 16:57:27

主题: 小结一下
问题留给专家

如果sin (a \pi /x) < 0, 横竖你能用binary search 找到 a的一个 factor. 与rsa 什么关系,not my business. the rsa guys do it.

sin (a \pi /x) = 0, a is perfect square. 

sin (a \pi /x) > 0,  you can search the least root from (1 , a^{1/4})

还有什么关系,没人付钱,没必要自费。

提示: 本博文来自于 Mathematics 版



2010-10-24 14:42:48

主题: 看看这个成不成立,about composite numbers
For a in Z+, f(x) = sin (a * pi /x )

then f'(x) = - cos ( a * pi /x ) * a * pi * (1/x/x)

For x in (1,a)
observe f(x) we conclude
(1) If the roots number of f(x) is odd, then a is a perfect sqare.
(2) If sin(sqrt(a) pi) < 0, f(x) has at least two roots.
(3) If sin(sqrt(a) pi) > 0, f(x) may have at least four roots or no roots.
you can search the least root <= a^{1/4}

If you have any suggested readings, let me know. no waste of time here.


提示: 本博文来自于 Computation 版



2010-10-24 14:03:01

主题: The property of composite numbers, theorem I
f(x) = sin (a * pi /x )

then f\'(x) = - cos ( a * pi /x ) * a * pi * (1/x/x)

If we observe f(x), we will find if f(x) has only one root in (1,a), then f(x) is a perfect square. 
If any more roots are added, they appear in pair.
If the numbers of roots is odd, then the least root < a^{1/3}; iff sin(sqrt(a)pi/x) < 0.
If the numbers of roots is even, then the least root < a^{1/4}.

If by now you can\'t observe the function in a recursive way, it will be a pity.

以上结论能不能骗点饭啊?

if you have any suggested readings, dont\' hesitate. I have a lot of things to do. DONT WASTE TIME.



2010-10-24 01:51:34

主题: 继续我们计算non-prime number 的探险
先前提到过  y = sin(a * pi /x), 对于质数a 在(1,a)是没有解得。

写了段程序,用牛顿法算 x, 跑了跑发现,原来这个一维系统有很多folds,又想了想能不能用二维的系统来解这个问题呢?于是又了如下的构造
f = (f1,f2)^t
f1(x1,x2) = (x1 + exp(x2))* sin(pi * a /x1);
f2(x1,x2) = (x1*x1 -x2*x2)
求 f --〉0
这个系统看起来有个不错的jacobian,跑了跑程序,居然收敛了,但不知道收敛到哪里去了,您有时间帮忙看看吧,能不能有更好的构造。或者用什么论证着干脆就是不可行的,免得骑自行车去月球。

附程序c++


#include 
#include 
using namespace std;
#define PI (atan(1.0)*4.0)
#define __VERYSMALL (1.0E-10)
#define __ITERATIONLIMIT 20

bool isVerySmall (double d) {
return (abs(d)<__VERYSMALL);
}
// exp(x1+x2) is too big
inline double f1 (double x1, double x2,double a) {
//return exp(x1+x2) * sin( PI * a / x1);
return (x1+exp(x2)) * sin( PI * a / x1);
}
inline double f2 (double x1, double x2,double a) {
return x1*x1 - x2* x2;
}
inline double f1px1 (double x1, double x2,double a) {
return x1 * sin( PI * a / x1) - (x1 + exp(x2) )* cos(PI * a / x1) * PI * a * (1.0/x1/x1) * exp(x1+x2) ;
}
inline double f1px2 (double x1, double x2,double a) {
//return exp(x1+x2) * sin( PI * a / x1);
return exp(x2) * sin( PI * a / x1);
}
inline double f2px1 (double x1, double x2,double a) {
return 2.0*x1;
}
inline double f2px2 (double x1, double x2,double a) {
return -2.0*x2;
}
void computeDeltaX (double * arr, double * f, double * result) {
double det = (arr[1]*arr[2] -arr[0]*arr[3]);
if (isVerySmall (det)) {
cout<< "det is very samll"< exit(1);
}
result[1] = (f[0] * arr[2] - f[1] * arr[0])/det;
result[0] = (f[0]*arr[2] - arr[1]*arr[2]*result[1])/(arr[0]*arr[2]);
}
double norm22(double * f)  {
return sqrt(f[0]* f[0] + f[1]* f[1]);
}

void computeG( double * g , double *x ,double a) {
g[0] = f1(x[0],x[1],a);
g[1] = f2(x[0],x[1],a);
}
void computeJ( double * j , double *x ,double a) {
//g[0] = f1(x[0],x[1],a);
//g[1] = f2(x[0],x[1],a);
j[0] = f1px1 (x[0],x[1],a);
j[1] = f1px2 (x[0],x[1],a);
j[2] = f2px1 (x[0],x[1],a);
j[3] = f2px2 (x[0],x[1],a);
}


bool isPrime( int n);
int main () {
double a = 173;
cout<<"a = "<
double g[2] = {0,0};
double j[4] = {0,0,0,0};
//double x[2] = {sqrt(a),sqrt(a)};
double x[2] = {sqrt(a),1.0};
double delta[2]= {0,0};
computeG( g, x,a);
computeJ( j, x,a);
//computeDeltaX (double * arr, double * f, double * result) 
double ng[2] ={-1.0*g[0],-1.0*g[1]};
computeDeltaX (j, ng,delta) ;
cout<< norm22(delta) < x[0] += delta[0];
x[1] += delta[1];

int i = 1;
while (! isVerySmall(norm22(delta)) && i<= __ITERATIONLIMIT) {
computeG( g, x,a);
computeJ( j, x,a);
ng[0] =-1.0*g[0];
ng[1] =-1.0*g[1];
//computeDeltaX (double * arr, double * f, double * result) 
computeDeltaX (j, ng,delta) ;
x[0] += delta[0];
x[1] += delta[1];
cout<< norm22(delta) <
i++;
}
cout<<"result x : " < cout<<"result g : " < cout<<"iterations: "<

}
bool isPrime( int n) {
bool flag = true;
int l = (int)sqrt((double)n);
//cout<<"l:"< int i = 0;
for(i = l; i>= 2;i-- ) {
if (n%i ==0 ) {
flag = false;
//cout<<"divisor:"< break;
}
}
return flag;
}


提示: 本博文来自于 Mathematics 版



2010-10-21 16:47:31

主题: compute non-prime number
这两天胡乱想到一个问题,放到这里请教专家,我自己分叉太多还是老老实实写程序吧。

正整数的a的特性是sin(a \PI/ x) = 0 if x is its divisor.

那么用taylor 把 sin(a \PI/ x) 展开,有什么办法证明r(x)收敛还是不收敛。

如果收敛的话sin(a \PI/ x) taylor 的 特征根如果有实数的话,则必定是整数,且未a 的因子。处吗?

由此可以判断a 是质数还是合数?

提示: 本博文来自于 Mathematics 版



2010-10-10 23:22:26

主题: 我现在在搞一个解码器,急需多项式eigenvalue 求法
1。不能用matlab
2。可以用fortran c/c++

比方 x^2 + m x + n = 0
矩阵
| m/2                sqrt(m^2/4 -n)|
|sqrt(m^2/4 -n)      m/2           |
的eigenvalues 应该就是 x^2 + m x + n = 0 的 eigenvalues.
如果polynomial 的维数高了,怎么得到这样矩阵,因为矩阵式是numerical friendly 的。



提示: 本博文来自于 Mathematics 版



BBS 未名空间站