Python.CVXPY学习指南二

函数Functions

CVXPY使用函数信息以及DCP规则(DCP rules)来标记表达式的正负与曲率。

操作符Operators

中缀操作符有+,-,,/。其中+和-是仿函数。在CVXPY中 和/也是仿的,因为仅仅当expr1或者expr2其中之一是常数时expr1*expr2才被允许。同理在expr1/expr2要求expr2是标量常数

索引与切片Indexing and slicing

所有的非标量表达式都能使用语法expr[i, j]。索引是一种仿函数,
The syntax expr[i] can be used as a shorthand for expr[i, 0] when expr is a column vector.假如expr是一个列向量,expr[i] = expr[i,0],第i行第0列。
Similarly, expr[i] is shorthand for expr[0, i] when expr is a row vector.假如expr是一个行向量,expr[i] = expr[0,i],第0行,第i列元素
Non-scalar expressions can also be sliced into using the standard Python slicing syntax. For example, expr[i:j:k, r] selects every kth element in column r of expr, starting at row i and ending at row j-1.
非标量表达式能够使用Python的切片语法进行切片,例如expr[i:j:k,r]选择的是:第r列,行是从i开始j-1行结束,每隔k个取一个元素。

转置T:Transpose

任何表达式的转置都可以通过语法expr.T获得

Power

Power: For any CVXPY expression expr, the power operator expr**p is equivalent to the function power(expr, p).
幂函数,对于任何CVXPY表达式expr,幂操作符expr**p = power(expr,p)

标量函数

标量函数使用一个或多个标量、向量、矩阵作为参数,返回一个标量。
//如下例子:
norm(X)或者norm(X,2) = ix2i ,其中 XRn

元素函数-Elementwise function

这些函数操作的是针对参数中的每一个元素项。例如,如果X是一个5*4的矩阵变量,则abs(X)是一个5*4的矩阵表达式,
abs(X)[1,2]=abs(X[1,2])。
元素函数可以接受多个参数,例如max_elemwise、mul_elemwise操作每个参数的相应的每个元素。
例如:如果XY都是3*3的矩阵变量,max_elemwise(X,Y)是一个3*3矩阵,max_elemwise(X, Y)[2, 0] =max_elemwise(X[2, 0], Y[2, 0]). 要求所有的参数必须具有相同的维度和标量。

向量与矩阵函数

A vector/matrix function takes one or more scalars, vectors, or matrices as arguments and returns a vector or matrix.

参考文献

http://www.cvxpy.org/en/latest/tutorial/functions/index.html#functions

你可能感兴趣的:(python.cvxpy)