Re: [Numpy-discussion] Numpy and iterative procedures
At first glance it doesn't look hard to, at least, avoid looping over i, by replacing [i] by [:-2], [i+1] by [1:-1] and [i+2] by [2:]. But I might be wrong. Can you submit the piece of code with at least the most internal loop? Nadav. -----Original Message----- From: numpy-discussion-bounces@scipy.org on behalf of Geoffrey Zhu Sent: Thu 15-Feb-07 18:32 To: Discussion of Numerical Python Cc: Subject: Re: [Numpy-discussion] Numpy and iterative procedures Thanks Chuck. I am trying to use Successive Over-relaxation to solve linear equations defined by M*v=q. There are several goals: 1. Eventually (in production) I need it to be fast. 2. I am playing with the guts of the algorithm for now, to see how it works. that means i need some control for now. 3. Even in production, there is a chance i'd like to have the ability to tinker with the algorithm. _____ From: numpy-discussion-bounces@scipy.org [mailto:numpy-discussion-bounces@scipy.org] On Behalf Of Charles R Harris Sent: Thursday, February 15, 2007 10:11 AM To: Discussion of Numerical Python Subject: Re: [Numpy-discussion] Numpy and iterative procedures On 2/15/07, Geoffrey Zhu <gzhu@peak6.com> wrote: Hi, I am new to numpy. I'd like to know if it is possible to code efficient iterative procedures with numpy. Specifically, I have the following problem. M is an N*N matrix. Q is a N*1 vector. V is an N*1 vector I am trying to find iteratively from the initial value V_0. The procedure is simply to calculate V_{n+1}[i]=3D1/M[I,i]*(q[i]- (M[i,1]*v_{n+1}[1]+M[I,2]*v_{n+1}[2]+..+M[i,i-1]*v_{n+1}[i-1]) - (M[I,i+1]*v_{n}[i+1]+M[I,i+2]*v_{n}[i+2]+..+M[I,N]*v_{n}[N])) I do not see that this is something that can esaily be vectorized, is it? I think it would be better if you stated what the actual problem is. Is it a differential equation, for instance. That way we can determine what the problem class is and what algorithms are available to solve it. Chuck _______________________________________________________ The information in this email or in any file attached hereto is intended only for the personal and confiden- tial use of the individual or entity to which it is addressed and may contain information that is propri- etary and confidential. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. This communica- tion is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product. Email trans- mission cannot be guaranteed to be secure or error- free. P6070214
Nadav Horesh wrote:
At first glance it doesn't look hard to, at least, avoid looping over i, by replacing [i] by [:-2], [i+1] by [1:-1] and [i+2] by [2:]. But I might be wrong. Can you submit the piece of code with at least the most internal loop?
Nadav.
I guess he is looking for an implementation of http://en.wikipedia.org/wiki/Successive_over-relaxation Nils
-----Original Message----- From: numpy-discussion-bounces@scipy.org on behalf of Geoffrey Zhu Sent: Thu 15-Feb-07 18:32 To: Discussion of Numerical Python Cc: Subject: Re: [Numpy-discussion] Numpy and iterative procedures
Thanks Chuck.
I am trying to use Successive Over-relaxation to solve linear equations defined by M*v=q.
There are several goals:
1. Eventually (in production) I need it to be fast. 2. I am playing with the guts of the algorithm for now, to see how it works. that means i need some control for now. 3. Even in production, there is a chance i'd like to have the ability to tinker with the algorithm.
_____
From: numpy-discussion-bounces@scipy.org [mailto:numpy-discussion-bounces@scipy.org] On Behalf Of Charles R Harris Sent: Thursday, February 15, 2007 10:11 AM To: Discussion of Numerical Python Subject: Re: [Numpy-discussion] Numpy and iterative procedures
On 2/15/07, Geoffrey Zhu <gzhu@peak6.com> wrote:
Hi,
I am new to numpy. I'd like to know if it is possible to code efficient iterative procedures with numpy.
Specifically, I have the following problem.
M is an N*N matrix. Q is a N*1 vector. V is an N*1 vector I am trying to find iteratively from the initial value V_0. The procedure is simply to calculate
V_{n+1}[i]=3D1/M[I,i]*(q[i]- (M[i,1]*v_{n+1}[1]+M[I,2]*v_{n+1}[2]+..+M[i,i-1]*v_{n+1}[i-1]) - (M[I,i+1]*v_{n}[i+1]+M[I,i+2]*v_{n}[i+2]+..+M[I,N]*v_{n}[N]))
I do not see that this is something that can esaily be vectorized, is it?
I think it would be better if you stated what the actual problem is. Is it a differential equation, for instance. That way we can determine what the problem class is and what algorithms are available to solve it.
Chuck
_______________________________________________________
The information in this email or in any file attached hereto is intended only for the personal and confiden- tial use of the individual or entity to which it is addressed and may contain information that is propri- etary and confidential. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. This communica- tion is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product. Email trans- mission cannot be guaranteed to be secure or error- free. P6070214
------------------------------------------------------------------------
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion
participants (2)
-
Nadav Horesh
-
Nils Wagner