質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1844閲覧

diagのk=1とk=-1の違いについて

退会済みユーザー

退会済みユーザー

総合スコア0

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/04/26 07:23

diagのk=1とk=-1の違いが理解できません。

# coding: utf-8 from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import numpy as np x = np.arange(9).reshape((3,3)) print(np.diag(x,k=1)) print(np.diag(x,k=-1))

と書いたコードを実行したとき

[1 5] [3 7]

と出力されました。
print(x)を行うと

[[0 1 2] [3 4 5] [6 7 8]]

と出力され、
なぜ[1 5][3 7]が
print(np.diag(x,k=1))
print(np.diag(x,k=-1)) で出力されるのでしょう
か?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

k = 0 なら、(0,0) から
k > 0 なら(0,0)の位置を基準として(右)上側の位置 すなわちk = 1 なら (0,1)から
k < 0 なら(0,0)の位置を基準として(左)下側の位置 すなわちk =-1 なら (1,0)から
の対角線上の要素を返します。
ここで(行,列)位置とします。

もしかしてSciPy.orgのリファレンスに載っている関数を ** かたっぱしから実行&確認 **しているのでしょうか?
また、疑問点をすべて質問するおつもりでしょうか?

投稿2017/04/26 07:44

can110

総合スコア38262

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

k=0が主対角要素
k=1がその一つ右上の対角要素
k=-1がその一つ左下の対角要素

なお「行列の対角成分」が何のことかわからない場合は、
線形代数の本を買って勉強した方がいいです。

投稿2017/04/26 07:40

編集2017/04/26 07:45
ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問