数学优化问题看起来不太好

数学优化问题看起来不太好

我试图编写一个优化问题,其中“受制于”部分是一个向量语句。但是它看起来并不好。 在此处输入图片描述

     \[ \begin{array}{clcll}
     \textrm{min} & \|k_i\|^2 &\equiv &\textrm{min} & \|k_i\|^2\\
     \text{s.t. } & \begin{array}{c}
     k_i'w_1=0 \\
     \vdots\\
     k_i'w_i=1\\
     \vdots\\
     k_i'w_n=0
     \end{array}
     & &\text{s.t. } &\left[\begin{array}{c}\textendash w_1\textendash \\
     \vdots\\
     \textendash w_i\textendash \\
     \vdots\\
     \textendash w_n\textendash \end{array}\right]
     \left[\begin{array}{c}| \\
     k_i\\
     |\end{array}\right]=
     \left[\begin{array}{c} 0 \\
     \vdots\\
     1\\
     \vdots\\
     0 \end{array}\right]=e_i
     \end{array}\] 

有什么方法可以强制使向量更紧凑?(占用更少的空间)

答案1

试试这个。我抑制了周围的一些垂直空间,\vdots并使用了矩阵环境将amsmath它们稍微关闭了一下。

\documentclass{article}
\usepackage{amsmath}

\newcommand{\xvdots}{\vphantom{{\sum^0}^0}\smash{\vdots}}

\begin{document}
\begin{alignat*}{2}
&\textrm{min} \quad \|k_i\|^2 &\ &\equiv \textrm{min} \quad \|k_i\|^2\\[2pt]
&\text{s.t.}\quad \ \,
 \begin{matrix}
   k_i'w_1=0 \\
   \xvdots\\
   k_i'w_i=1\\
   \xvdots\\
   k_i'w_n=0
 \end{matrix}
 &\ & \phantom{{}\equiv{}} \text{s.t.} \quad
  \begin{bmatrix}
   \text{--} w_1\text{--} \\
   \xvdots\\
   \text{--} w_i\text{--} \\
   \xvdots\\
   \text{--} w_n\text{--}
  \end{bmatrix}
  \begin{bmatrix}
   | \\
   k_i \\
   |
  \end{bmatrix}
  =
  \begin{bmatrix}
   0 \\
   \xvdots\\
   1 \\
   \xvdots\\
   0
  \end{bmatrix}
  = e_i
\end{alignat*}
\end{document}

示例代码的输出

答案2

下面是另一个选项,展示如何使用部分内容来操纵行距\normalbaselineskip

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools,array}
\begin{document}
\[
  \setlength{\arraycolsep}{0pt}
  \begin{array}[t]{l}
    \min \|k_i\|^2 \\[.5\normalbaselineskip]
    \text{s.t. }
    \begin{array}{r>{{}}l}
      k_i'w_1 &= 0 \\[-.4\normalbaselineskip]
      & \vdotswithin{=} \\[-.1\normalbaselineskip]
      k_i'w_i &= 1 \\[-.4\normalbaselineskip]
      & \vdotswithin{=} \\[-.1\normalbaselineskip]
      k_i'w_n &= 0
    \end{array}
  \end{array}
  \quad \equiv \quad
  \begin{array}[t]{l}
    \min \|k_i\|^2 \\[.5\normalbaselineskip]
    \text{s.t. }
    \left[\begin{array}{c}
      \text{-- } w_1 \text{ --} \\[-.4\normalbaselineskip]
      \vdots \\[-.1\normalbaselineskip]
      \text{-- } w_i \text{ --} \\[-.4\normalbaselineskip]
      \vdots \\[-.1\normalbaselineskip]
      \text{-- } w_n \text{ --}
    \end{array}\right]
    \left[\begin{array}{c}
      | \\ k_i \\ |
    \end{array}\right]
    =
    \left[\begin{array}{c}
      0 \\[-.4\normalbaselineskip]
      \vdots \\[-.1\normalbaselineskip]
      1 \\[-.4\normalbaselineskip]
      \vdots \\[-.1\normalbaselineskip]
      0
    \end{array}\right]
    = e_i
  \end{array}
\] 

\end{document}

答案3

虽然不是完全满意,但你可以从这里开始修改:

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}
\begin{document}
 \[   
\min
_{\mathrlap{\substack{ 
     \text{s.t.}\\
     k_i'w_1=0 \\
     \vdots\\
     k_i'w_i=1\\
     \vdots\\
     k_i'w_n=0}}}
  \|k_i\|^2
\quad\equiv\quad
\min 
_{\mkern-18mu\mathrlap{\substack{
     \text{s.t.}\\
   \left[\begin{smallmatrix}\text{--} w_1\text{--} \\
     \vdots\\
     \text{--} w_i\text{--} \\
     \vdots\\
     \text{--} w_n\text{--} \end{smallmatrix}\right]
     \left[\begin{smallmatrix}| \\
     k_i\\
     |\end{smallmatrix}\right]=
     \left[\begin{smallmatrix} 0 \\
     \vdots\\
     1\\
     \vdots\\
     0 \end{smallmatrix}\right]=e_i}}}
\|k_i\|^2
\] 

\end{document}

相关内容