Создание большой матрицы, где каждый элемент одинаков - PullRequest
2 голосов
/ 02 апреля 2019

Я пытаюсь создать матрицу измерения nxn в Sage. Но каждый элемент в матрице должен быть 1/n. Размер n составляет около 7000.

Сначала я попытался создать матрицу из них со встроенным sagemethod, а затем умножить матрицу на 1/n. Это очень медленно и приводит к сбою ядра моего ноутбука Jupyter.

T =matrix.ones(7000) * 1/n

Второе, что я попробовал, это создание всех элементов с помощью понимания списка.

T = matrix(RDF,[[1/l for x in range(l)] for row in range(l)])

Кажется, это то, что мой компьютер не может обработать.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2019

@ JamesKPolk дал мне рабочее решение.

T = matrix(RDF, 6000, 6000, lambda i,j: 1/6000)

0 голосов
/ 02 апреля 2019

как насчет использования нулей и добавления не того, что вы хотите массив например, если N = 7000

, то:

import numpy as np
N=7000
temp_array = np.zeros((N,N))
main_array = (1/N) + temp_array
print(main_array)
...