Нужно обработку элементов матрицы вынести в отдельную процедуру. Ну например, пусть феункция обнуляет элементы матрицы. Простой код функции, наверное, имеет такой вид
def g(a):
... n=len(a)
... return zeros((n,n))
a=g(a)
Как в этом коде происходит передача данных Как в cpp, через стек? Если да, то это не рационально, и нужно писать процедуру, в которой матрица передается как аргумент процедуры по ссылке. Попробовал, но явно неуспешно :-) :
>>> from numpy import *
>>> def f(a):
... n=len(a)
... a=zeros((n,n))
...
>>> a=ones((5,5))
>>> f(a)
>>> a
array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]])
Посоветуйте как правльно написать процедуру/функцию заполняющую матрицу не тратя зря ресурсы?