In article <626f24e5-4d8e-416c-b3ed-dc56a88dc...@s21g2000prm.googlegroups.com>,
Lambda wrote:
>
>def matrix_power(m, n):
> result = m[:]
> print result is m
Use copy.deepcopy()
--
Aahz (a...@pythoncraft.com) <*> http://www.pythoncraft.com/
"You could make Eskimos emigrate t
Mark Dickinson wrote:
On Oct 28, 8:24 am, Lambda wrote:
Thank you!
Following is my final code:
Looks good, but are you sure about that word 'final'? ;-)
def matrix_power(m, n):
"""
Raise 2x2 matrix m to nth power.
"""
if n =0: return [[1, 0], [0, 1]]
x =atrix_power(m,
Lambda wrote:
> I defined a function to raise a 2x2 matrix to nth power:
> BTW, numpy has such a function, but it doesn't support really large
> number.
> Does numpy has some functions that support arbitrarily large number?
You can tell it to use Python instead of C integers:
>>> import numpy
>
On Oct 28, 8:24 am, Lambda wrote:
> Thank you!
> Following is my final code:
Looks good, but are you sure about that word 'final'? ;-)
>
> def matrix_power(m, n):
> """
> Raise 2x2 matrix m to nth power.
> """
> if n == 0: return [[1, 0], [0, 1]]
>
> x = matrix_power(m, n / 2)
I sugg
On Oct 28, 10:40 am, Chris Rebert wrote:
> On Tue, Oct 27, 2009 at 7:15 PM, Lambda wrote:
> > I defined a function to raise a 2x2 matrix to nth power:
>
> > def matrix_power(m, n):
> > result = m[:]
>
> Note that this only copies the *outer* list. It does NOT copy any of
> the inner, nested list
Lambda wrote:
I defined a function to raise a 2x2 matrix to nth power:
There is a much faster way to raise x to a count power n than the
definitional but naive method of multipling 1 by x n times. It is based
on the binary representation of n.
Example: x**29 = x**(16+8+4+1) = x**16 * x**8 *
On Tue, Oct 27, 2009 at 7:15 PM, Lambda wrote:
> I defined a function to raise a 2x2 matrix to nth power:
>
> def matrix_power(m, n):
> result = m[:]
Note that this only copies the *outer* list. It does NOT copy any of
the inner, nested lists, it just makes fresh *references* to them,
which is w
I defined a function to raise a 2x2 matrix to nth power:
def matrix_power(m, n):
result = m[:]
print result is m
for i in range(n - 1):
result[0][0] = result[0][0] * m[0][0] + result[0][1] * m[1][0]
result[0][1] = result[0][0] * m[0][1] + result[0][1] * m[1][1]
result[1][0] = re