# Как умножить диагональные элементы друг другом, используя numpy? -- python поле с участием numpy поле с участием matrix пол Связанный проблема

## How to multiply diagonal elements by each other using numpy?

0 ### проблема

русский

Для целей этого упражнения давайте рассмотрим матрицу, где элемент <код> m_{i, j} дается правилом <код> m_{i, j} = i*j Если <код> i == j и <код > 0 else.

Есть ли простой «numpy» способ расчета такой матрицы без необходимости прибегать к <Код> if Заявления, проверяя для индексов?

Английский оригинал

For the purpose of this exercise, let's consider a matrix where the element `m_{i, j}` is given by the rule `m_{i, j} = i*j` if `i == j` and `0` else.

Is there an easy "numpy" way of calculating such a matrix without having to resort to `if` statements checking for the indices?

</div

## Список ответов

1  Лучший ответ

Вы можете использовать функцию numpy <код> diag , чтобы построить диагональную матрицу, если вы даете ей предполагаемую диагональ как 1D массив в качестве ввода.

Так что вам просто нужно создать это, как <код> [i**2 for i in range (N)] с <код> N размерность матрицы.

You can use the numpy function `diag` to construct a diagonal matrix if you give it the intended diagonal as a 1D array as input.

So you just need to create that, like `[i**2 for i in range (N)]` with `N` the dimension of the matrix.

</div

0 Вы можете использовать матрицу удостоверения личности, заданную ` gksudo0 `, а затем умножить его на <код> gksudo1 Размерный вектор.

You could use the identity matrix given by `numpy.identity(n)` and then multiply it by a `n` dimensional vector.

</div

0 Предполагая, что у вас есть квадратная матрица, вы можете сделать это:

` <Код> gksudo2  `

Assuming you have a squared matrix, you can do this:

``import numpy as np  ary = np.zeros((4, 4)) _ = [ary.__setitem__((i, i), i**2) for i in range(ary.shape)] print(ary) # array([[0., 0., 0., 0.], #        [0., 1., 0., 0.], #        [0., 0., 4., 0.], #        [0., 0., 0., 9.]]) ``
</div

## Связанный проблема

1  Python: Tkinter не отображает мой образ или интерфейс  ( Python tkinter not displaying my image or ui )
Я пытаюсь создать пользовательский интерфейс с изображением в правом верхнем углу. Вот мой код: <код> import tkinter as tk import urllib.request import base...

0  Как написать Pivot_Table в TXT файл Python  ( How to write the pivot table to txt file by python )
Я получаю pivot_table следующим образом: Есть места в таблице, Что я хочу написать на TXT: Как получить это? <код> WKWebView0 ...

48  Ошибка auth_user с django 1.8 и syncdb / migrate  ( Auth user error with django 1 8 and syncdb migrate )
При обновлении в Django 1.8 (с zc.buildout) и запуском SyncDB или миграция, я получаю это сообщение: <Код> django.db.utils.ProgrammingError: relation "auth_...

2  Pyproj Пакет Установка Proj_dir Переменная  ( Pyproj package installation proj dir variable )
Я пытаюсь установить <код> pyproj , хотя получаю <код> Proj executable not found. Please set PROJ_DIR variable ошибки. Команда <Код> \$ pipenv install pyp...

0  Использование Pybind11 на MacBook Pro  ( Using pybind11 on macbook pro )
Я пытаюсь использовать Pybind11 на MacBook, и я пытаюсь сделать так, как было написано в https://pybind11.readtheDocs.io/en/stable/basics.html я установил C...

0  Почему мой скрипт Cron работает только один раз?  ( Why my cron script running just once )
Я пытаюсь запустить простой сценарий Python, используя команды cron. Я написал код, чтобы запускать свой скрипт Python в каждом 1 минуте и записывать вывод в ...

25  Найти сломанные симличины с Python  ( Find broken symlinks with python )
Если я звоню <код> os.stat() на сломанный <код> 9988777663 , python бросает <код> OSError исключение. Это делает его полезным для их поиска. Тем не менее, е...

0  Python получает глобальные модули вместо местных внутри виртуальны  ( Python is getting global modules instead of local ones inside of virtualenv )
Это мой первый раз, используя virtualenv и mysqldb, и я получаю странную ошибку. После того, как я настрою этот Virtualenv, я установил MySQLDB изнутри Virtua...

1  Используйте файл в качестве аргумента для функции, которая подсчитывает, создает счет для каждой буквы в текстовом файле  ( Use a file as an argument for a function that counts creates a count for each le )
Моя программа прямо сейчас работает только для первого символа в текстовом файле и итерации бесконечно. Например, если первая буква в текстовом файле D, прогр...

1  Cprofile принимает много памяти  ( Cprofile taking a lot of memory )
Я пытаюсь профилировать мой проект в Python, но у меня заканчивается память. Сам мой проект довольно памяти, но даже пробеги полумана с возможностью погибан...

2  Spotipy Authentication не возвращает токен?  ( Spotipy authentication not returning token )
Все подходящие люди, я прочитал всю документацию, которую я могу найти в методах аутентификации Spotipy, и я собрал небольшой кусок кода, чтобы проверить его,...

3  Compile United с кодом ошибки 1 в / tmp / pip_build_root / uwsgi  ( Compile failed with error code 1 in tmp pip build root uwsgi )
Я пытаюсь следить за руководством в http: // uwsgi -docs.readtheDocks.org/en/latest/tutorials/django_and_nginx.html . Я получил все, что все работает TOHTTP:...

2  Heroku Установить Letsencrypt - SU: ДОЛЖЕН БУДЬТ  ( Heroku install letsencrypt su must be run from a terminal )
Я пытаюсь создать сертификат SSL для Мой сайт , чтобы получить зеленый замок. . Во время передачи, как это сделать (никогда не делал ничего с сертификатами ...

12  Редактировать с помощью контекстного меню IDLE (Python GUI) в Windows & NBSP; 7  ( Edit with idle python gui context menu on windowsnbsp7 )
Под Windows XP у меня есть контекстное введение меню «Редактировать с простым» для python исходные файлы. Я пытался сделать эту работу под Windows 7 (32-бит...

1  dataframe или sqlctx (sqlcontext) сгенерировали "попытка вызвать пакет" ошибка  ( Dataframe or sqlctx sqlcontext generated trying to call a package error )
Я использую Spark 1.3.1. В Pyspark я создал Dataframe от RDD и зарегистрировал схему, что-то вроде этого: <код> dataLen=sqlCtx.createDataFrame(myrdd, ["id",...