Dear all,

Hi! Recently, I found that discrete matrices are not strictly symmetric, but in theory it should be symmetric. How can I get the strictly symmetric one?

varf a([uu,vv],[w,s])=

int2d(Th)(

2*mu*(dx(uu)*dx(w)+dy(vv) dy(s)+ ((dx(vv)+dy(uu))(dx(s)+dy(w)))/2 )
+ lambda*(dx(uu)+dy(vv))*(dx(w)+dy(s))

)

- on(1,uu=0,vv=0)

;

varf b([uu,vv],[w,s])=

int2d(Th)(uu*w + vv*s) ;

matrix A= a(Vh,Vh,solver=“SPARSESOLVER”);

matrix B= b(Vh,Vh,solver=CG,eps=1e-20);

1、I tried to At=(A+A’)/2, but It doesn’t work.

2、I tried to use MatScale, but It is useless.

3、I tried this,

matrix A= a(Vh,Vh,solver=“SPARSESOLVER”);

matrix B= b(Vh,Vh,solver=CG,eps=1e-20);

A = (A+(A’));

Mat At=A;

At *= 0.5;

B = (B+B’);

Mat Bt=B;

Bt *= 0.5;

But, Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range

Are there other methods???

Best regards,

Baishi.