parse a pdf in c# : Create bookmark pdf file Library control class asp.net azure wpf ajax CVX4-part1414

The CVX Users’ Guide, Release 2.1
are recognized as valid in CVX, and classified as convex and concave, respectively. The first one follows
from the first rule for convexfunctions; andthe second onefollows fromthe first rulefor concave functions.
Most people who know basic convex analysis like to think of these examples in terms of the more specific
rules: a maximum of convex functions is convex, and a sum of convex (concave) functions is convex (con-
cave). But these rules are just special cases of the generalcomposition rules above. Some other well known
basic rules that follow from the general compositionrules are:
• a nonnegative multiple of a convex (concave) function is convex(concave);
• a nonpositive multiple of a convex (concave) function is concave (convex).
Now we consider a more complex example in depth. Suppose x is a vector variable, and A, b, and f are
constants with appropriate dimensions. CVX recognizes the expression
sqrt(f'
*
x) + min(4,1.3-norm(A
*
x-b))
as concave.
Consider the term sqrt(f’
*
x).
CVX recognizes that sqrt is concave and
f’
*
x is affine, so it concludes that sqrt(f’
*
x) is concave. Now consider the second term
min(4,1.3-norm(A
*
x-b)). CVX recognizes that min is concave and nondecreasing, so it can ac-
cept concave arguments. CVX recognizes that 1.3-norm(A
*
x-b) is concave, since it is the difference
of a constant and a convex function. So CVX concludes that the second term is also concave. The whole
expression is then recognized as concave, since it is the sum of two concave functions.
Thecompositionrulesaresufficientbutnotnecessaryfor the classificationto becorrect, sosomeexpressions
which are in factconvex or concave willfailto satisfy them, and so will be rejected by CVX. For example,
if x is a vector variable, the expression
sqrt( sum( square( x ) ) )
is rejectedby CVX,because there is norulegoverningthe compositionof a concavenondecreasing function
with a convex function. Of course, the workaround is simple in this case: use norm( x ) instead, since
norm is in the atom library and known by CVX to be convex.
5.7 Monotonicity in nonlinear compositions
Monotonicity is a critical aspect of the rules for nonlinear compositions. This has some consequences that
are not so obvious, as we shall demonstrate here by example. Consider the expression
square( square( x ) + 1 )
where x is a scalar variable. This expression is in fact convex, since (x
2
+1)
2
=x
4
+2x
2
+1 is convex.
But CVX will reject the expression, because the outer square cannot accept a convex argument. Indeed,
the square of a convex function is not, in general, convex: for example, (x
2
1)
2
=x
4
2x
2
+1 is not
convex.
There are severalways to modify the expression above to comply with the ruleset. One way is to write it as
x^4 + 2
*
x^2 + 1, which CVX recognizes as convex, since CVX allows positive even integer powers
using the ^ operator. (Note that the same technique, applied to the function (x
2
1)
2
,will fail, since its
second term is concave.)
5.7. Monotonicity in nonlinear compositions
35
Create bookmark pdf file - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
bookmarks pdf file; creating bookmarks in a pdf document
Create bookmark pdf file - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
add bookmarks pdf; add bookmark pdf
The CVX Users’ Guide, Release 2.1
Another approach is to use the alternate outer function square_pos, included in the CVX library, which
represents the function (x
+
)
2
,where x
+
=maxf0;xg. Obviously, square and square_pos coincide
when their arguments are nonnegative. But square_pos is nondecreasing, so it can accept a convex
argument. Thus, the expression
square_pos( square( x ) + 1 )
is mathematicallyequivalentto therejectedversionabove(sincethe argumenttothe outer functionis always
positive), but itsatisfies the DCPruleset and is therefore accepted by CVX.
This is the reasonseveralfunctions inthe CVX atomlibrarycome in two forms: the “natural” form, and one
that is modified in such a way that it is monotonic, and can therefore be used in compositions. Other such
“monotonic extensions” include sum_square_pos and quad_pos_over_lin. If you are implement-
ing a new function yourself, you might wish to consider if a monotonic extension of that function would
also be useful.
5.8 Scalar quadratic forms
In its pure form, the DCP ruleset forbids even the use of simple quadratic expressions such as x
*
x
(assuming x is a scalar variable). For practical reasons, we have chosen to make an exception to the ruleset
to allow for the recognitionof certainspecific quadratic forms thatmap directly to certain convex quadratic
functions (or their concave negatives) in the CVX atom library:
x .
*
x
square( x ) (real x)
conj( x ) .
*
x
square_abs( x )
y’
*
y
sum_square_abs( y )
(A
*
x-b)’
*
Q
*
(Ax-b)
quad_form( A
*
x - b, Q )
CVX detects the quadratic expressions such as those on the left above, and determines whether or not they
are convex or concave; and if so, translates them to an equivalent function call, such as those on the right
above.
CVX examines each single product of affine expressions, and each single squaring of an affine expression,
checking for convexity;it will notcheck, for example, sums of products of affine expressions. For example,
given scalar variables x and y, the expression
x ^ 2 + 2
*
x
*
y + y ^2
will cause an error in CVX, because the second of the three terms 2
*
x
*
y, is neither convex nor
concave. But the equivalent expressions
( x + y ) ^ 2
( x + y )
*
( x + y )
willbe accepted.
CVX actually completes the square when it comes across a scalar quadratic form, so the form need not be
symmetric. For example, if z is a vector variable, a, b are constants, and Q is positive definite, then
( z + a )'
*
Q
*
( z + b )
36
Chapter 5. The DCP ruleset
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
C#.NET Annotate PDF in WPF, C#.NET PDF Create, C#.NET NET convert PDF to images, C#.NET PDF file & pages search text in PDF, C#.NET edit PDF bookmark, C#.NET
bookmark pdf reader; pdf bookmarks
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Split PDF document by PDF bookmark and outlines in VB.NET. 3, 5} ' Valid value for each index: 1 to (Page Count - 1). ' Create output PDF file path list
how to add bookmarks to a pdf; create pdf bookmarks online
The CVX Users’ Guide, Release 2.1
willbe recognized as convex. Once a quadratic form has been verified by CVX, itcan be freely used in any
way that a normal convex or concave expression can be, as described inExpressionrules.
Quadratic forms should actually be used less frequently in disciplined convex programming than in a more
traditional mathematical programming framework, where a quadratic form is often a smooth substitute for
anonsmooth form that one truly wishes to use. In CVX, such substitutions are rarely necessary, because of
its support for nonsmooth functions. For example, the constraint
sum( ( A
*
x - b ) .^ 2 ) <= 1
is equivalently represented using the Euclidean norm:
norm( A
*
x - b ) <= 1
With modern solvers, the second form is more naturallyrepresented using a second-order cone constraint—
so the second form may actually be more efficient. In fact, in our experience, the non-squared form will
often be handled more accurately. So we strongly encourage you to re-evaluate the use of quadratic forms
in your models, inlight of the new capabilities afforded by disciplined convex programming.
5.8. Scalar quadratic forms
37
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Easy to create searchable and scanned PDF files from Word. Able to get word count in PDF pages. Change Word hyperlink to PDF hyperlink and bookmark.
bookmarks in pdf files; create pdf bookmark
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
list below is mainly to optimize PDF file with multiple 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
pdf bookmark editor; adding bookmarks to pdf
The CVX Users’ Guide, Release 2.1
38
Chapter 5. The DCP ruleset
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Professional VB.NET PDF file merging SDK support Visual Studio .NET. Merge PDF without size limitation. Append one PDF file to the end of another one in VB.NET.
pdf export bookmarks; bookmarks pdf
C# PDF File Split Library: Split, seperate PDF into multiple files
defined pages. Divide PDF file into multiple files by outputting PDF file size. Split PDF document by PDF bookmark and outlines. Also
bookmark a pdf file; delete bookmarks pdf
CHAPTER
SIX
SEMIDEFINITE PROGRAMMING MODE
Those who are familiar with semidefinite programming (SDP) know that the constraints that utilize the set
semidefinite(n) in the discussion onSetmembershipabove are, in practice, typically expressedusing
linear matrix inequality (LMI) notation. For example, given X = X
T
2 R
nn
,the constraint X  0
denotes that X 2 S
n
+
;thatis, that X is positive semidefinite.
CVX provides a special SDP mode that allows this LMI notation to be employed inside CVX models using
Matlab’s standard inequality operators >=, <=. In order to use it, one simply begins a model with the
statementcvx_begin sdp or cvx_begin SDP instead of simply cvx_begin.
When SDP mode is engaged, CVX interprets certain inequality constraints in a different manner. To be
specific:
• Equality constraints are interpreted the same (i.e., elementwise).
• Inequality constraints involving vectors and scalars are interpretedthe same;i.e., elementwise.
• Inequality constraints involving non-square matrices are disallowed; attempting to use them causes
an error. If you wish to do true elementwise comparison of matrices X and Y, use a vectorization
operation X(:)
<= Y(:) or vec( X ) <= vec( Y ). (vec is a function provided by CVX
that is equivalent to the colon operation.)
• Inequality constraints involving real, square matrices are interpreted as follows:
X >= Y
becomes
X - Y == semidefinite(n)
X <= Y
becomes
Y - X == semidefinite(n)
If either side is complex, then the inequalities are interpreted as follows:
X >= Y
becomes
X - Y == hermitian_semidefinite(n)
X <= Y
becomes
Y - X == hermitian_semidefinite(n)
• There isone additionalrestriction: both X and Y mustbethesamesize, or one mustbe the scalar zero.
For example, if X and Y are matrices of size n,
X >= 1
or
1 >= Y
illegal
X >= ones(n,n)
or
ones(n,n) >= Y
legal
X >= 0
or
0 >= Y
legal
In effect, CVX enforces a stricter interpretation of the inequalityoperators for LMI constraints.
• Note thatLMI constraints enforcesymmetry(realor Hermitian,asappropriate) on their inputs. Unlike
SDPSOL,CVXdoesnotextractthesymmetricpartforyou:youmusttakecaretoinsuresymmetry
39
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Easy to create searchable and scanned PDF files from Word. Ability to get word count of PDF pages. Change Word hyperlink to PDF hyperlink and bookmark.
how to bookmark a pdf page; convert word to pdf with bookmarks
C# PDF File Compress Library: Compress reduce PDF size in C#.net
list below is mainly to optimize PDF file with multiple pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
how to add bookmarks on pdf; pdf bookmark
The CVX Users’ Guide, Release 2.1
yourself. Since CVX supports the declaration of symmetric matrices, this is reasonably straightfor-
ward. If CVX cannot determine that an LMI is symmetric to within a reasonable numeric tolerance,
awarning will be issued. We have provided a function sym(X) that extracts the symmetric part of a
square matrix; that is, sym(X) = 0.5
*
(X+X’).
• A dual variable, if supplied, will be applied to the converted equality constraint. It will be given a
positive semidefinite value if an optimal point is found.
So, for example, the CVX modelfound in the file examples/closest_toeplitz_sdp.m,
cvx_begin
variable Z(n,n) hermitian toeplitz
dual variable Q
minimize( norm( Z - P, 'fro' ) )
Z == hermitian_semidefinite( n ) : Q;
cvx_end
can also be written as follows:
cvx_begin sdp
variable Z(n,n) hermitian toeplitz
dual variable Q
minimize( norm( Z - P, 'fro' ) )
Z >= 0 : Q;
cvx_end
Many other examples in the CVX example library utilize semidefinite constraints; and allof them use SDP
mode. To find them, simply search for the text cvx_begin sdp in the examples/ subdirectory tree
using your favorite file search tool. One of these examples is reproduced inIndexeddualvariables.
Since semidefinite programming is popular, some may wonder why SDP mode is not the default behavior.
The reason for this is that we place a strong emphasis on maintaining consistency between Matlab’s native
behavior and that of CVX. Using the >=, <=, >, < operators to create LMIs represents a deviation from
that ideal. For example, the expression Z >= 0 in the example above constrains the variable Z to be
positive semidefinite. But after the model has been solved and Z has been replaced with a numeric value,
the expression Z >= 0 will testfor the elementwise nonnegativity of Z. To verify that the numeric value of
Zis, in fact, positive semidefinite, you must perform a test like min(eig(Z)) >= 0.
40
Chapter 6. Semidefinite programming mode
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
concatenating library SDK, C# developers can easily merge and append one PDF document to another PDF document file, and choose to create a new PDF file in .NET
excel pdf bookmarks; add bookmarks to pdf
CHAPTER
SEVEN
GEOMETRIC PROGRAMMING MODE
Geometric programs (GPs) are special mathematical programs that can be converted to convex form using
achange of variables. The convex form of GPs can be expressed as DCPs, but CVX also provides a special
mode that allows a GP to be specified in its native form. CVX will automatically perform the necessary
conversion, compute a numerical solution, and translate the results back to the original problem.
To utilize GP mode, you must begin your CVX specification with the command cvx_begin gp or
cvx_begin GP instead of simply cvx_begin. For example, the following code, found in the exam-
ple library at gp/max_volume_box.m, determines the maximum volume box subject to various area
and ratio constraints:
cvx_begin gp
variables w h d
maximize( w
*
h
*
d )
subject to
2
*
(h
*
w+h
*
d) <= Awall;
w
*
d <= Afloor;
alpha <= h/w >= beta;
gamma <= d/w <= delta;
cvx_end
As the example illustrates, CVX supports the construction of monomials and posynomials using addition,
multiplication, division(when appropriate), andpowers. Inaddition, CVX supports the construction of gen-
eralized geometric programs (GGPs), by permitting the use of generalized posynomials wherever posyno-
mials are permitted in standard GP. More information about generalized geometric programs is provided in
thistutorial.
The solvers used in this version of CVX do not support geometric programming natively. Instead, they are
solved using the successive approximation technique described inThesuccessiveapproximationmethod.
This means that solving GPscan be slow, but for smallandmediumsizedproblems, the method works well.
In the remainder of this section, we will describe specific rules that apply when constructing models in GP
mode.
7.1 Top-level rules
CVX supports three types of geometric programs:
41
The CVX Users’ Guide, Release 2.1
• A minimization problem, consisting of a generalized posynomial objective and zero or more con-
straints.
• A maximization problem, consisting of a monomial objective and zero or more constraints.
• A feasibility problem, consisting of one or more constraints.
The asymmetry betweenminimizations and maximizations—specifically, thatonlymonomial objectives are
allowed in the latter—is an unavoidable artifactof the geometry of GPs and GGPs.
7.2 Constraints
Three types of constraints may be specified in geometric programs:
• An equality constraint, constructed using ==, where both sides are monomials.
• A less-than inequality constraint <= wherethe leftside is a generalizedposynomialand the right side
is a monomial.
• A greater-than inequality constraint >= where the left side is a monomial and the right side is a
generalized posynomial.
As with DCPs, non-equality constraints are not permitted; and while strict inequalities <, > are supported,
theyare treated as non-strictinequalities and should therefore be avoided.
7.3 Expressions
The basic building blocks of generalized geometric programming are monomials, posynomials, and gener-
alized posynomials. A valid monomialis
• a declared variable;
• the product of two or more monomials;
• the ratio of two monomials;
• a monomial raisedtoa real power; or
• a call to one of the following functions with monomial arguments: prod, cumprod, geo_mean,
sqrt.
Avalid posynomial expression is
• a valid monomial;
• the sum of two or more posynomials;
• the product of two or more posynomials;
• the ratio of a posynomialand a monomial;
• a posynomial raised to a positive integralpower; or
42
Chapter 7. Geometric programming mode
The CVX Users’ Guide, Release 2.1
• a call to one of the following functions with posynomial arguments: sum, cumsum, mean, prod,
cumprod.
Avalid generalized posynomial expression is
• a valid posynomial;
• the sum of two or more generalized posynomials;
• the product of two or more generalized posynomials;
• the ratio of a generalized posynomial and a monomial;
• a generalized posynomial raised to a positive real power;or
• a call to one of the following functions with arguments that are generalized posynomials: sum,
cumsum, mean, prod, cumprod, geo_mean, sqrt, norm, sum_largest, norm_largest.
Itis entirely possibleto create andmanipulate arrays of monomials, posynomials, and/or generalizedposyn-
omials in CVX, in which case these rules extend in an obvious manner. For example, the product of two
monomial matrices produces a matrix whose entries are polynomials (or monomials inspecialcases).
7.3. Expressions
43
The CVX Users’ Guide, Release 2.1
44
Chapter 7. Geometric programming mode
Documents you may be interested
Documents you may be interested