OpenLLM-France/wikimedia huggingface dataset:
# LMIs in Control/Click here to continue/Fundamentals of Matrix and LMIs/Nevanlinna Pick Interpolation with Scaling
## Nevanlinna-Pick Interpolation with Scaling

The Nevanlinna-Pick problem arises in multi-input, multi-output (MIMO) control theory, particularly $H_{\infty }$ robust and optimal controller synthesis with structured perturbations.
The problem is to try and find ${\gamma }_{opt}=inf(||DHD^{-1}||_{\infty })$ such that $H$ is analytic in $C_{+},$   $D=D^{\ast }>0,$ and $D\in \mathbb {D}$ define the scaling, and finally, ‌ $H({\lambda }_{i})u_{i}=v_{i}$   $i=1,...,m$   $(1)$

## The System

The scaling factor $\mathbb {D}$ is given as a set of $mxm$ block-diagonal matrices with specified block structure. The matrix valued function H({\lambda}) analytic on the open upper half plane is a Nevanlinna function if $Im(H({\lambda }))\geq 0$ $({\lambda }\in {\pi }^{+})$. The Nevanlinna LMI matrix $N$ is defined as $N=G_{in}-G_{out}$. The matrix $A$ is a diagonal matrix of the given sequence of data points ${\lambda }_{i}\in \mathbb {C} (A=diag({\lambda }_{1},...,{\lambda }_{m})$

## The Data

Given: ‌ Initial sequence of data points in the complex plane ${\lambda }_{1},...,{\lambda }_{m}$ with ${\lambda }_{i}\in C_{+}{\widehat {=}}(s|Re(s)>0)$. ‌ Two sequences of row vectors containing distinct target points $u_{1},....,u_{m}$ with $u_{i}\in C^{q}$, and $v_{1},...,v_{m}$ with $v_{i}\in C^{p},i=1,...,m$.

## The LMI: Nevanlinna- Pick Interpolation with Scaling

First, implement a change of variables for $P=D^{\ast }D$ and $N=G_{in}-G_{out}$.
From this substitution it can be concluded that ${\gamma }_{opt}$ is the smallest positive ${\gamma }$ such that there exists a $P>0,P\in \mathbb {D}$ such that the following is true:
$A^{\ast }G_{in}+G_{in}A-U^{\ast }PU=0$,
$A^{\ast }G_{out}+G_{out}A-V^{\ast }PV=0$,
${\gamma }^{2}G_{in}-G_{out}\geq 0$

## Conclusion:

If the LMI constraints are met, then there exists a $H_{\infty }$ norm-bounded optimal gain ${\gamma }$ which satisfies the scaled Nevanlinna-Pick interpolation objective defined above in Problem (1).

## Implementation

Implementation requires YALMIP and Mosek. - MATLAB code for Nevanlinna-Pick Interpolation.

## Related LMIs

Nevalinna-Pick Interpolation

## External Links

* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
* Generalized Interpolation in $H_{\infty }$.

## Return to Main Page:

LMIs in Control: https://en.wikibooks.org/wiki/LMIs_in_Control
# LMIs in Control/Click here to continue/Fundamentals of Matrix and LMIs/Non-Expansivity and boundedness Realness

This section studies the non-expansivity and bounded-realness of a system.

## The System

Given a state-space representation of a linear system
    ${\begin{aligned}\ {\dot {x}}=Ax+Bu\\\ y=Cx+Du\\\end{aligned}}$
$x\in \mathbb {R} ^{n},y\in \mathbb {R} ^{m},u\in \mathbb {R} ^{r}$ are the state, output and input vectors respectively.

## The Data

$A,B,C,D$ are system matrices.

## Definition

The linear system with the same number of input and output variables is called non-expansive if
    ${\begin{aligned}\int \limits _{0}^{T}y^{T}y(t)dt\geq \int \limits _{0}^{T}u^{T}u(t)dt\\\end{aligned}}$         (1)
hold for any arbitrary $T\geq 0$, arbitrary input $u(t)$, and the corresponding solution $y(t)$ of the system with $x(0)=0$. In addition, the transfer function matrix
    ${\begin{aligned}G(s)&=C(sI-A)^{-1}B+D\\\end{aligned}}$         (2)
of system is called is positive real if it is square and satisfies
    ${\begin{aligned}\ G^{H}(s)+G(s)\geq I\forall s\in \mathbb {C} ,Re(s)>0\\\end{aligned}}$         (3)

## LMI Condition

Let the linear system be controllable. Then, the system is bounded-real if an only if there exists $P>0$ such that
    ${\begin{aligned}\ {\begin{bmatrix}A^{T}P+PA&PB&C^{T}\\B^{T}P&-I&D^{T}\\C&D&-I\end{bmatrix}}<0\\\end{aligned}}$         (4)
and
    ${\begin{aligned}\ {\begin{bmatrix}PA+A^{T}P+C^{T}C&PB+C^{T}D\\B^{T}P+D^{T}C&D^{T}D-I\end{bmatrix}}<0\\\end{aligned}}$         (5)

## Implementation

This implementation requires Yalmip and Mosek.
* https://github.com/ShenoyVaradaraya/LMI--master/blob/main/bounded_realness.m

## Conclusion:

Thus, it is seen that passivity and positive-realness describe the same property of a linear system, one gives the time-domain feature and the other provides frequency-domain feature of this property.

## External Links

* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
* LMIs in Control Systems: Analysis, Design and Applications - by Guang-Ren Duan and Hai-Hua Yu, CRC Press, Taylor & Francis Group, 2013
# LMIs in Control/Click here to continue/Fundamentals of Matrix and LMIs/Non-Strict Schur Complement
### Nonstrict Schur Complement

Consider $A\in \mathbb {S} ^{n},B\in \mathbb {R} ^{n\times m},$ and $C\in \mathbb {S} ^{m}.$ The following statements are equivalent.
a) ${\begin{bmatrix}A&B\\B^{T}&C\end{bmatrix}}\leq 0$
b) $A-BC^{+}B^{T}<0,C\leq 0,B(\mathbf {1} -CC^{+})=\mathbf {0} ,$ where $C^{+}$ is the Moore-Penrose inverse of $C.$
c) $C-B^{T}A^{+}B<0,A\leq 0,B^{T}(\mathbf {1} -AA^{+})=\mathbf {0}$ where $A^{+}$ is the Moore-Penrose inverse of $A.$

## External Links

* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
# LMIs in Control/Click here to continue/Fundamentals of Matrix and LMIs/Passivity and Positive Realness

This section deals with passivity of a system.

## The System

Given a state-space representation of a linear system
    ${\begin{aligned}\ {\dot {x}}=Ax+Bu\\\ y=Cx+Du\\\end{aligned}}$
$x\in \mathbb {R} ^{n},y\in \mathbb {R} ^{m},u\in \mathbb {R} ^{r}$ are the state, output and input vectors respectively.

## The Data

$A,B,C,D$ are system matrices.

## Definition

The linear system with the same number of input and output variables is called passive if
    ${\begin{aligned}\int \limits _{0}^{T}u^{T}y(t)dt\geq 0\\\end{aligned}}$         (1)
hold for any arbitrary $T\geq 0$, arbitrary input $u(t)$, and the corresponding solution $y(t)$ of the system with $x(0)=0$. In addition, the transfer function matrix
    ${\begin{aligned}G(s)&=C(sI-A)^{-1}B+D\\\end{aligned}}$         (2)
of system is called is positive real if it is square and satisfies
    ${\begin{aligned}\ G^{H}(s)+G(s)\geq 0\forall s\in \mathbb {C} ,Re(s)>0\\\end{aligned}}$         (3)

## LMI Condition

Let the linear system be controllable. Then, the system is passive if an only if there exists $P>0$ such that
    ${\begin{aligned}\ {\begin{bmatrix}A^{T}P+PA&PB-C^{T}\\B^{T}P-C&-D^{T}-D\end{bmatrix}}\leq 0\\\end{aligned}}$         (4)

## Implementation

This implementation requires Yalmip and Mosek.
* https://github.com/ShenoyVaradaraya/LMI--master/blob/main/Passivity.m

## Conclusion

Thus, it is seen that passivity and positive-realness describe the same property of a linear system, one gives the time-domain feature and the other provides frequency-domain feature of this property.

## External Links

* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
* LMIs in Control Systems: Analysis, Design and Applications - by Guang-Ren Duan and Hai-Hua Yu, CRC Press, Taylor & Francis Group, 2013
# LMIs in Control/Click here to continue/Fundamentals of Matrix and LMIs/Reciprocal Projection Lemma

WIP, Description in progress
Another condition for eliminating a variable in an LMI called reciprocal projection lemma is introduced.

## Reciprocal Projection Lemma

For a given symmetric matricx $\Phi \in \mathbb {S} ^{n}$, there exists a matrix $S\in \mathbb {R} ^{n\times n}$ satisfying
$\Phi +S^{T}+S<0$
if and only if, for an arbitrarily fixed symmetric matrix $P\in \mathbb {S} ^{n}$, there exist a matrix $W\in \mathbb {R} ^{n\times n}$ satisfying
${\begin{bmatrix}\Phi +P-(W^{T}+W)&S^{T}+W^{T}\\S+W&-P\end{bmatrix}}<0$.
WIP, additional references to be added

## External Links

A list of references documenting and validating the LMI.
# LMIs in Control/Click here to continue/Fundamentals of Matrix and LMIs/Notion of Matrix Positivity
## Notation of Positivity

A symmetric matrix $A\in \mathbb {R} ^{n\times n}$ is defined to be:
positive semidefinite, $(A\geq 0)$, if $x^{T}Ax\geq 0$ for all $x\in \mathbb {R} ^{n},x\neq \mathbf {0}$.
positive definite, $(A>0)$, if $x^{T}Ax>0$ for all $x\in \mathbb {R} ^{n},x\neq \mathbf {0}$.
negative semidefinite, $(-A\geq 0)$.
negative definite, $(-A>0)$.
indefinite if $A$ is neither positive semidefinite nor negative semidefinite.

## Properties of Positive Matricies

* For any matrix $M$, $M^{T}M>0$.
* Positive definite matricies are invertible and the inverse is also positive definite.
* A positive definite matrix $A>0$ has a square root, $A^{1/2}>0$, such that $A^{1/2}A^{1/2}=A$.
* For a positive definite matrix $A>0$ and invertible $M$, $M^{T}AM>0$.
* If $A>0$ and $M>0$, then $A+M>0$.
* If $A>0$ then $\mu A>0$ for any scalar $\mu >0$.

## External Links

* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
# LMIs in Control/Click here to continue/Fundamentals of Matrix and LMIs/Schur Complement

An important tool for proving many LMI theorems is the Schur Compliment. It is frequently used as a method of LMI linearization.

### The Schur Compliment

Consider the matricies $Q$, $M$, and $R$ where $Q$ and $M$ are self-adjoint. Then the following statements are equivalent:
      * $Q>0$ and $M-RQ^{-1}R^{*}>0$ both hold.
      * $M>0$ and $Q-R^{*}M^{-1}R>0$ both hold.
      * ${\begin{bmatrix}M&R\\R^{*}&Q\end{bmatrix}}>0$ is satisfied.
More concisely:
       ${\begin{bmatrix}M&R\\R^{*}&Q\end{bmatrix}}>0\iff {\begin{bmatrix}M&0\\0&Q-R^{*}M^{-1}R\end{bmatrix}}>0\iff {\begin{bmatrix}M-RQ^{-1}R^{*}&0\\0&Q\end{bmatrix}}>0$

## External Links

* LMI Methods in Optimal and Robust Control - A course on LMIs in Control by Matthew Peet.
* LMI Properties and Applications in Systems, Stability, and Control Theory - A List of LMIs by Ryan Caverly and James Forbes.
* LMIs in Systems and Control Theory - A downloadable book on LMIs by Stephen Boyd.
# PHP Programming/Secure HTTP headers

The HTTP header returned by a PHP script can reveal its security breaches.

## Hide versions

To avoid to be the target of the security breaches linked to a PHP or a web server version, it's better to hide them in the HTTP headers.
This is generally done in the server configuration files, but can also be realized in PHP:

## Other attacks

The HTTP header injection can be prevented by configuration.
Example of protections:
Attention: a bad configuration can provoke cross-origin resource sharing (CORS) errors.
# PHP Programming/Smarty templating system/Functions

* Built-in functions
** capture
** config_load
** foreach
** foreachelse
** if
** elseif
** else
** include
** include_php
** insert
** ldelim
** rdelim
** literal
** |php
** section
** sectionelse
** strip
* Custom functions
** assign
** counter
** cycle
** debug
** eval
** fetch
** html_checkboxes
** html_image
** html_options
** html_radios
** html_select_date
** html_select_time
** html_table
** mailto
** math
** popup
** popup_init
** textformat
# PHP Programming/The do while Loop
## The do while loop

The do while loop is similar in syntax and purpose to the while loop. The do/while loop construct moves the test that continues the loop to the end of the code block. The code is executed at least once, and then the condition is tested. For example:
Even though $c is greater than 5, the script will echo "Hi" to the page one time.
PHP's do/while loop is not commonly used.

### Example

PHP Code:
PHP Output:
HTML Render:

## The continue statement

The continue statement causes the current iteration of the loop to end, and continues execution where the condition is checked - if this condition is true, it starts the loop again. For example, in the loop statement:
the statement is not executed when the condition i = 0 is true.

## For More Information

* PHP Manual: Control Structures: do-while
# PHP Programming/Templates
## Basic Templating

The simplest use of templates in PHP is very powerful for reducing errors and time spent on your pages. First, make sure your server has PHP enabled, etc., etc.
When you're ready to start, make one page that will be the template for all your pages. For example:
Now, say you want 2 more pages with the same header and footer. You don't have to code it again. You can save the header as one template and the footer as another. Just take all the header html up to the part where your body text begins:
Now save this as a separate file. I like to use the extension .inc (do the same with the footer)
Now, in your main page, just type:
And that's your page. Save it as a .php, upload it, and check it.

## Notes

You can also use the include or include_once functions, if the page should continue loading, even if the file(s) can not be included.
The require, include and include_once functions will work with other file types, and can be used anywhere on a page.
Advanced: Try using this with an if statement for DYNAMIC templating... ooh...

## Managed Templating

Managed Templating allows you to create and use PHP Templates with a Template Engine. The PHP Developer/Designer doesn't have to create the engine for it to be used. The most reliable PHP Templating Engine is Smarty ( ). Managed Template Systems are easy to use and are mostly used in big websites because of the need for dynamic paging. MediaWiki is one example of a Managed Template System. Managed Templating is easy to use for new and advanced users, for example:
* index.php
* template.tpl
* Output

## Roll Your Own

Template engines work great, however if you are just looking for the basic Search and Replace template functionality, writing your own script is a snap.
* Simple template function
* Using the function
* template.tpl, Template used for the above function
* Parsed template output
# Microsoft Office/Navigating Cells

| To select | Do this (If you are left-handed use Right click in place of Left |
| a single cell | Left click on it |
| a range of adjacent cells | Drag from the first cell to the last cell, or click on the first cell, hold the Shift key and click on the last cell (scrolling if necessary) |
| non-adjacent cells or ranges | Hold CTRL (Windows) or Command (Mac) key and click or drag |
| an entire row or column | Left click on the row or column heading |
| all cells | Left click on the blank header in the upper left corner |
| the next cell to the right | Use the Tab key |
| the next cell down the column | Use the Enter key |
| the A1 Home cell | Press Ctrl + Home keys together |
| the last cell in a sheet | Press Ctrl + End keys together |
| the cells around the active cell | Press Ctrl + Shift + 8 keys together (Select Region) |
# Microsoft Office/Printing in Excel

The page breaks can be changed on an Excel spreadsheet so that it prints a bit nicer. This can also help to reduce the number of pages that get printed.
* First, check out how it is currently set to print with File > Print Preview.
* Second, if you want to change the page breaks, at the top of the print preview, click the “Page Break Preview” button.
* Now you will see the spreadsheet broken up by dashed lines with a faint page number in each region.
* You can move these dashed lines to change the page breaks.
* Do File > Print Preview again and you will see how the change affects the printing.
* You will also see “Page Break Preview” option has changed to “Normal View”
* You can also find “Page Break Preview” and “Normal View” under View in the menu bar.

## What if you want to print only part of the spreadsheet?

* Highlight the area that you want to print.
* From the menu bar, select File > Print Area > Set Print Area
* Now when you go to File > Print Preview, you will see only the area that you highlighted.
* To go back to printing the entire document, use File > Print Area > Clear Print Area

## Not able to highlight the region you wanted to print?

* Go to File > Page Setup
* Click the Sheet tab
* In the box marked “Print Area” you can click the tiny spreadsheet icon.
* This will reduce the box and allow you to highlight what you want (or something close to it).
* You will see the cell range appear in the “Print Area” box.
* Edit the string to get it to cover what you want, and click on the icon at the end of the box.
* Now hit File > Print Preview
* Remember to remove these settings if you want to print something else.
# Microsoft Office/Opening a Word File as Read Only
## Open a file as read only with the main menu

* Click on File -> Open...
* Select the Word file
* Click on the arrow on the "Open" button
* Click on "Open as read only"

## Open a file as read only from Windows Explorer with Shift key

* In Windows Explorer, hold down the Shift key and right click your file.
* You can now "Open as Read-Only" or "Open in Protected View"

## Open a file as read only from Windows Explorer without Shift key

* In Windows Explorer, click on Tools -> Folder options -> File types
* Select the file type "DOC"
* The buttons "Modify" and "Advanced" should appear (if the buttons "Modify" and "Restore" appear, you need to restore the default configuration)
* Click on "Advanced"
* Click on "New"
* In action, write Open (read-only)
* In application used to perform action, write "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE" %1 /h /n /dde (adapt the path to your installation folder)
* Check "Use DDE"
* In DDE message, write [AppShow][REM _DDE_ReadWriteOnSave][FileOpen .Name="%1",.Revert=0,.ReadOnly=1]
* In DDE Application Not Running, empty the field
* In topic, write System
* Click on "OK"
* Click on "OK" again
* Click on "Close"
Now, to open the file in read-only mode, right-click on the file and select Open (read-only)
# Microsoft Office/PowerPoint Terminology

* Ask A Question Box - Provides quick access to help.
* AutoContent Wizard - A wizard that produces a presentation with a general structure and suggested topics based on options you choose regarding the presentation output.
* AutoCorrect - Corrects capitalization, grammar, and spelling errors automatically as you type.
* AutoShapes - Ready-made shapes you can draw on the slides in your presentation by choosing a shape from the AutoShapes drop-down menu.
* Clip Art - Professionally designed images that you can add to documents. You can change the size, appearance, and location of clip art after it has been inserted into a document.
* Design Template - The background, fonts, bullets, formatting, and color scheme that you can apply to define the look of your presentation.
* Expanded Menu - A menu that displays both common and less-common commands after you pause the mouse pointer over it.
* Floating Toolbars - Toolbars that are not attached to the edge of the program window.
* Indents - Used to align bullets and text on a slide.
* Line Spacing - The vertical distance between lines of text.
* Normal View - The view you use to create and edit your presentation. It consists of three working areas: the Outline and Slides tabs, the Slide pane, and the Notes pane.
* Notes Pane - In Normal view, the Notes Pane is used to create notes for each slide in your presentation.
* Outline and Slides Tabs - One of the panes in Normal view, you use the Outline and Slides tabs to toggle between an outline of the text in your presentation and a thumbnail view of each slide.
* Presentation - An interaction between a speaker and an audience. A presentation usually includes one or more visual aids: in the case of PowerPoint, these are slides.
* Sizing Handles - Small circles or squares that appear along the border of a selected slide or object.
* Slide Pane - In Normal view, the area in the center of the application window where you create and format your slide content. It displays the current slide.
* Slide Sorter View - All slides in the presentation are displayed at once on the screen. In this view, you can rearrange, copy, and delete slides.
* Task Pane - Provides quick access to commands related to your current task.
* Transition Effects - In a slide show, a transition determines how the display changes as you move from one slide to the next.
* WordArt - A tool you can use to create unique text effects. Text objects you create with read-made effects to which you can apply additional formatting options.
# Microsoft Office/PowerPoint Tips and Tricks
## Inserting SVG

To insert SVG to PowerPoint:
* Convert the SVG file to EMF.
** Option: Open the SVG file in OpenOffice/LibreOffice Draw and save it as EMF via File > Export... menu.
** Option: Open the SVG file in Inkscape and save it as EMF; this has been reported to lead to loss of quality or parts of the image.
* Insert the resulting EMF file to PowerPoint by dragging the EMF file onto a slide.
# Perl Programming/Keywords/ne
## The ne keyword

ne is a relational operator that returns 1 for true, if the lefthand and righthand side are not equal, and an empty string for false. In contrast, ǃ= checks for numerical inequality.
# Perl Programming/Keywords/no
## The no keyword

no is the opposite function of use. One can specify with this command that the version to be used is older than the given version.

### See also

* use
# Perl Programming/Keywords/oct
## The oct keyword

oct is a function that interprets EXPRESSION as a string with an octal value. If, however, the expression starts with "0b" or "0x", it interprets its value as binary or hexadecimal, respectively. A leading whitespace is always ignored.
Without the EXPRESSION, $_ is used as the source.

### Examples

$1019+20=1039$
# Perl Programming/Keywords/open
## The open keyword

open is the Perl pragma to set the default input/output layers (PerlIO).

### See also

* close
# Perl Programming/Keywords/ord
## The ord keyword

ord returns the number associated with the EXPRESSION. If EXPRESSION is an empty string, the function returns 0. Without NUMBER, the contents of $_ are used.
ord is the reverse of chr.

### See also

* chr
# Perl Programming/Keywords/next
## The next keyword

next is a command that makes the loop continue. It is like the continue command in C.
Note that the next EXPRESSION form exists for Perl 5.18.0 or later. This form tries to compute the label at runtime.
next cannot be used to exit a block that returns a value, such as it is the case in do, eval, or sub. It should not be used to exit a grep or map operation.
next is similar to continue in C-like languages.

### See also

* continue
# Perl Programming/Keywords/opendir
## The opendir keyword

opendir opens a directory called EXPRESION for processing by closedir, readdir, rewinddir, seekdir, and telldir. Returns true, if successful. DIRHANDLE may be an expression with the value of an indirect dirhandle, which is usually the real dirhandle name. If DIRHANDLE is an undefined scalar variable (or array or hash element), the variable is autovivified by assigning a reference to a new anonymous dirhandle. DIRHANDLEs have their own namespace separate from FILEHANDLEs.

### Syntax

| chdir | closedir | mkdir | opendir | readdir | rewinddir | rmdir | seekdir | telldir |
# Perl Programming/Keywords/or
## The or keyword

or is a logical short-circuit OR operator that has a very low precedence, but is otherwise equivalent to ||.
# Perl Programming/Keywords/my
## The my keyword

The my keyword is used before a variable declaration and makes the variable lexically in this block, file, or eval. If the user wants that more than one variable is declared in this way, parenthesis are required.

### See also

* eval
# Perl Programming/Keywords/not
## The not keyword

not is the negation operator. It is semantically equivalent to ǃ, but has very low precedence.