708 |
# solves the system My = x for any given vector x. |
# solves the system My = x for any given vector x. |
709 |
# |
# |
710 |
# |
# |
711 |
|
|
|
# Initialize |
|
|
|
|
|
iter = 0 |
|
|
Anorm = 0 |
|
|
ynorm = 0 |
|
|
x=x*0 |
|
712 |
#------------------------------------------------------------------ |
#------------------------------------------------------------------ |
713 |
# Set up y and v for the first Lanczos vector v1. |
# Set up y and v for the first Lanczos vector v1. |
714 |
# y = beta1 P' v1, where P = C**(-1). |
# y = beta1 P' v1, where P = C**(-1). |
715 |
# v is really P' v1. |
# v is really P' v1. |
716 |
#------------------------------------------------------------------ |
#------------------------------------------------------------------ |
717 |
|
if x==None: |
718 |
|
x=0*b |
719 |
|
else: |
720 |
|
b += (-1)*Aprod(x) |
721 |
|
|
722 |
r1 = b |
r1 = b |
723 |
y = Msolve(b) |
y = Msolve(b) |
724 |
beta1 = bilinearform(b,y) |
beta1 = bilinearform(b,y) |
734 |
#------------------------------------------------------------------ |
#------------------------------------------------------------------ |
735 |
# Initialize other quantities. |
# Initialize other quantities. |
736 |
# ------------------------------------------------------------------ |
# ------------------------------------------------------------------ |
737 |
|
# Initialize |
738 |
|
|
739 |
|
iter = 0 |
740 |
|
Anorm = 0 |
741 |
|
ynorm = 0 |
742 |
|
# x=x*0 |
743 |
|
|
744 |
oldb = 0 |
oldb = 0 |
745 |
beta = beta1 |
beta = beta1 |
746 |
dbar = 0 |
dbar = 0 |
846 |
rnorm = phibar |
rnorm = phibar |
847 |
|
|
848 |
# Return final answer. |
# Return final answer. |
849 |
|
print iter |
850 |
return x |
return x |
851 |
|
|
852 |
############################################# |
############################################# |