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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1281閲覧

python cvxopt.solvers.qpの引数について

togo_mentor

総合スコア14

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/04/18 01:02

わからないこと

pythonでcvxopt.solvers.qpを使用して2次計画問題を解く計算をしていたのですが、その引数としてP,q,A,b,G,hが登場しました。これについてが質問が2つあります。

【質問】
①引数は必ずP,q,A,b,G,hとしなければいけないのでしょうか?
②引数は上記の順番、大文字・小文字の区別をして記載しなくてはならないのでしょうか?

下記に添付したURLを見る限り順番はそれぞれバラバラでした。
A,bを引数に与えれば等号条件、G,hを与えれば不等号条件になるということでしょうか?

【調べたこと】
以下の3つのページを確認しました。

https://myenigma.hatenablog.com/entry/2016/10/16/131545#%E4%BA%8C%E6%AC%A1%E8%A8%88%E7%94%BB%E6%B3%95%E3%81%AEPython%E3%82%BD%E3%83%AB%E3%83%90%E3%83%BCcvxopt

https://qiita.com/XiangXiang/items/4cbde18ca5b324b2366e

http://cvxopt.org/examples/tutorial/qp.html

以上、よろしくお願い申し上げます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

①引数は必ずP,q,A,b,G,hとしなければいけないのでしょうか?

引数はそれらに予め決まっています。特にこちらで考えることはないです。

もっともこのサイトの回答では「引数」という言葉を誤解している可能性も考慮した方が無難と考えるので、以下のような解説を添えておきます。

python

1def f1(x): # 「引数」はここのxのことです 2 print(x) 3 4a = 10 # 呼び出し側でxという変数名にする必要はまったくありません。これは「引数」ではありません 5f1(a) # 位置引数として渡しています 6f1(x=a) # キーワード引数として渡しています 7 8def f2(x, y=None): # yにはデフォルト値を与えています 9 print(x, y) 10 11# 可能な呼び出し方色々 12f2(a) 13f2(x=a) 14f2(x=a, y="hoge") 15f2(y="fuga", x="hoge")

②引数は上記の順番、大文字・小文字の区別をして記載しなくてはならないのでしょうか?

位置引数として渡す場合、順番を守る必要があります。キーワード引数として渡す場合は無視できます。キーワード引数なら大文字小文字は区別してください。

あと、ライブラリならリファレンスをまずは見るべきです。

cvxopt.solvers.qp(P, q[, G, h[, A, b[, solver[, initvals]]]])

Cone Programming — CVXOPT User's Guide

[]で囲まれた部分は省略可能ですが、ネスト関係には注意する必要があります。これでG, hをすっ飛ばしてA, bだけ渡せるのかといった疑問が生じそうな感じです。qiitaの記事だとやって動いているみたいですが……。


そのライブラリに関係なくPythonの普遍的な関数の仕様に関する疑問だと思うので、まずはそのつもりでPythonの関数の引数の仕組みを学んでみてください。

投稿2020/04/19 02:16

hayataka2049

総合スコア30933

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

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

togo_mentor

2020/04/20 06:38

回答いただきありがとうございます。 位置引数とキーワード引数に気をつけてみていきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問