Kommando for argmin eller argmax?

Hvordan kan du få argmin eller argmax i Latex? To løsninger, jeg fandt, er:

\underset{x}{\operatorname{argmax}} \DeclareMathOperator*{\argmin}{arg\,min} 

Er der andre ideer?

[1] http://www.breakthru.altervista.org/?p=27

[2] http://researchonsearch.blogspot.com/2007/05/enter-argmax-argmin-in-latex.html

Kommentarer

  • Hvordan føles disse løsninger (især den anden) ikke rigtige? \DeclareMathOperator er vejen at gå i dette tilfælde.
  • Personligt kan jeg godt lide udseendet af \text{arg}\,\max\limits_{\theta}\,
  • hvad med, hvordan man får det til at fungere i Jupyter?

Svar

Som Pieter påpegede, er den korrekte måde at definere argmin- og argmax-operatorer i LaTeX på:

\usepackage{amsmath} \DeclareMathOperator*{\argmax}{arg\,max} \DeclareMathOperator*{\argmin}{arg\,min} 

Faktisk ved hjælp af amsopn -pakken ville være tilstrækkelig, men den indlæses af amsmath internt, hvilket alligevel anbefales til matematisk sætning.

* i \DeclareMathOperator* placerer det understregede argument under ordet snarere end nederst til højre for det.

Kommentarer

  • Hvis du bruger \DeclareMathOperator*{\argmin}{\arg\!\min} slipper du af det grimme mellemrum mellem arg og min.
  • @rbp Hvorfor skal man bruge \arg\min når man bare argmin gør det samme?
  • @egreg du ‘ har ret. Jeg ankom til denne fra nogle eksperimenter med andre muligheder og så ‘ ikke tilbage 🙂
  • I ConTeXt er det: \definemathcommand [argmin] [limop] {\mfunction{arg\,min}}
  • Forklaring: Jeg forlod det tynde mellemrum (\,) mellem arg og min, fordi det ‘ er, hvad den originale plakat havde i spørgsmål, så jeg antog, at de ville have plads der. Personligt ville jeg bare gøre \DeclareMathOperator*{\argmin}{argmin} uden mellemrummet.

Svar

Resumé

I efterfølgeren antages LaTeX.

Indledende spørgsmål

1. Skal et tyndt rum skille “arg” fra “min”?

Dette er et spørgsmål om personlig præference. Standarddefinitionen for \limsup har et tyndt mellemrum, på den anden side skrives “arcsin” normalt uden mellemrum mellem de to komponenter. Konsistens er som altid nøgleordet: ved hjælp af en makrodefinition vil det sikre det og også let at ændre sætningen i hele dokumentet, hvis det er nødvendigt at skifte fra en mulighed til en anden.

2. Skal grænser gå under operatøren i visningsstil?

Også dette kan diskuteres, og konventioner, der bruges i det felt, dokumentet er skrevet til, skal følges.

3. Skal operatørnavnet sættes opret?

Bestemt som alle andre operatør- / funktionsnavne som sinus og cosinus.

Tilgængelige værktøjer

1. amsmath

Med amsmath kan man gøre i præamblen

\DeclareMathOperator*{\argmin}{arg\,min} % thin space, limits underneath in displays \DeclareMathOperator*{\argmin}{argmin} % no space, limits underneath in displays \DeclareMathOperator{\argmin}{arg\,min} % thin space, limits on side in displays \DeclareMathOperator{\argmin}{argmin} % no space, limits on side in displays 

Selvfølgelig bør kun en af disse bruges. I dokumentet er det tilstrækkeligt at skrive \argmin, og afstanden omkring operatøren vil være den rigtige i henhold til de almindelige regler for matematisk sætning.

Det tilsyneladende forskellige

\newcommand{\argmin}{\operatornamewithlimits{argmin}} 

er ikke rigtig det, fordi det i det væsentlige er det samme som \DeclareMathOperator*{\argmin}{argmin}; desuden bruger den en forældet kommando, der skal være \operatorname*.

2. Ingen pakke

Følgende definitioner minder meget om dem ovenfor, i samme rækkefølge

\newcommand{\argmin}{\mathop{\mathrm{arg\,min}} \newcommand{\argmin}{\mathop{\mathrm{argmin}} \newcommand{\argmin}{\mathop{\mathrm{arg\,min}\nolimits} \newcommand{\argmin}{\mathop{\mathrm{argmin}\nolimits} 

Med \underset

\underset{x}{\mathrm{argmin}} 

Dette blev også nævnt i spørgsmålet og i et svar, men det er forkert, som den visuelle sammenligning vil vise.

3. Forskelle

Versionen “ingen pakke” er meget mere stiv end amsmath -versionen, fordi denne pakke kan modtage nonamelimits mulighed, der automatisk ændrer alle operatorer såsom \lim, \max, der normalt har grænser nedenunder (i viser) for at have dem på siden. Den samme mulighed ville naturligvis også virke på nyligt definerede operatorer, forudsat at \DeclareMathOperator* er blevet brugt.

Testdokument

I den følgende test dokument, de foreslåede definitioner eller konstruktioner sammenlignes.

\documentclass{article} \usepackage{amsmath} % limits underneath \DeclareMathOperator*{\argminA}{arg\,min} % Jan Hlavacek \DeclareMathOperator*{\argminB}{argmin} % Jan Hlavacek \DeclareMathOperator*{\argminC}{\arg\min} % rbp \newcommand{\argminD}{\arg\!\min} % AlfC \newcommand{\argminE}{\mathop{\mathrm{argmin}}} % ASdeL \newcommand{\argminF}{\mathop{\mathrm{argmin}}\limits} % ASdeL % limits on side \DeclareMathOperator{\argminG}{arg\,min} % Jan Hlavacek \DeclareMathOperator{\argminH}{argmin} % Jan Hlavacek \newcommand{\argminI}{\mathop{\mathrm{argmin}}\nolimits} % ASdeL \newcommand{\cs}[1]{\texttt{\symbol{`\\}#1}} \begin{document} \begin{align} &\cs{argminA} & \argminA_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminB} & \argminB_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminC} & \argminC_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminD} & \argminD_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminE} & \argminE_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminF} & \argminF_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{underset} & \underset{x}{\mathrm{argmin}} f(x) &= \{x \mid f(x) = \min_{x"} f(x")\}\\ &\cs{argminG} & \argminG_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminH} & \argminH_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \\ &\cs{argminI} & \argminI_x f(x) &= \{x \mid f(x) = \min_{x"} f(x")\} \end{align} \end{document} 

indtast billedbeskrivelse her

Resultater

Som forudsagt er mange linjer indstillet ens. Makroerne, der er defineret med \mathop, overholder dog ikke indstillingen nonamelimits. Resultatet af \argminD er også klart forkert, da grænsen er angivet under “max” og ikke under hele operatørnavnet.

Konstruktionen med \underset er forkert, fordi den ikke bruger den korrekte afstand efter operatøren: et tyndt rum følger alle andre, og det er den rigtige måde at sætte . Sammenlign \sin x og \mathrm{sin}x for at se dette tynde mellemrum i en anden sammenhæng.

Bemærk at \argminC og \argminA giver det samme resultat såvel som \argminD og \argminB. Forklaring: \arg og \max er allerede defineret som operatorer, så TeX indsætter et tyndt mellemrum, hvis man direkte følger en anden. Brug af \argminC eller \argminD får TeX til at dreje hjulene lidt mere uden fordel over \argminA eller \argminB.

Kommentarer

  • Dette skal være det accepterede svar.
  • Er ikke ‘ t \newcommand{\argmin}{\operatornamewithlimits{argmin}} anderledes, da det ikke ‘ t bruger amsmath pakke?
  • @HomeroEsmeraldo \operatornamewithlimits er en forældet kommando defineret af amsopn (en pakke indlæst af amsmath, sjældent brugt af sig selv).
  • Tak. Af en eller anden grund gav kun \underset tilfredsstillende resultater for med (med x under argmin, ikke ved siden af det).
  • hvad med hvordan man får det til at fungere i Jupyter ?

Svar

Jeg bruger \newcommand{\argmin}{\operatornamewithlimits{argmin}}.

Kommentarer

  • +1 Jeg kan lide dette – hvorfor overkomplicere ting? Dette ser nøjagtigt ud som \DeclareMathOperator* svaret.
  • Dette giver ” argmin “. For at få ” arg min ” (uden tvivl den mest sædvanlige notation) skal du indstille den til {arg\,min}.
  • Google gav mig 669.000 svar til ” arg min ” og 520.000 svar til ” argmin “, så jeg ‘ kalder det uafgjort. 😉
  • dette virker …? mangler der en importopgørelse?
  • Google Scholar fik mig 171.000 for ” arg min ” og 116.000 for ” argmin “.

Svar

Brug \usepackage{amsmath} og derefter:

\operatorname*{argmin}_\theta f(x) 

indtast billedbeskrivelse her

Eller lignende (for at tilføje et mellemrum),

\operatorname*{arg\,max}_\theta f(x) 

indtast billedebeskrivelse her

Kommentarer

  • kortfattet og til det punkt!

Svar

Bare et andet alternativ (på en eller anden måde den dårligere løsning omkring, se kommentar nedenfor) kan være at definere \argmin med hensyn til \min og \arg kommandoer.

\newcommand{\argmin}{\arg\!\min} 

På denne måde vil 1) \argmin opføre sig altid på samme måde da \min, 2) ikke har brug for amsmath eller bryr sig om \operator... kommandoer 3) ja, variablen er ikke centreret (den er centreret i min -delen ), men det kan endda være, hvad du vil have (da det er centreret på samme måde en \min, også “g” i \arg sænker ikke underargumentet yderligere.

\documentclass[fleqn]{article} \newcommand{\argmin}{\arg\!\min} \begin{document} \[ \argmin_x f(x) = \{x | f(x) = \min_{x"} f(x")\} \] \[ \min_x f(x) = \{f(x) | f(x) < f(x_0) \forall x_0 \in R \] \end{document} 

argmin

Kommentarer

  • Dette ser ikke ‘ ud som en god idé. \argmin_{x\in X\cap Y} f(x) vil bryde det fuldstændigt.
  • Hvad er \arg -kommandoen alligevel?
  • @ThomasAhle, arg er til argumentfunktionen (vinkel i det komplekse plan, $ z = | z | e ^ {i \ arg z} $. Tohecz er ret forresten.
  • @ boycott.se-yo ‘, godt punkt.

Svar

eller du kan bruge kommandoen underset. For eksempel:

 R = \underset{n} {\mathrm{argmax}} ~P(L_n|\mathbf{x}) 

Kommentarer

  • Don ‘ t brug dette. Dette gør argmin til mathord i stedet for en mathop, og afstanden er forkert. Desuden vil dette ikke automatisk justere grænserne i inline-matematik-tilstand.

Svar

Jeg bruger \mathop og \mathrm og til sidst \limits eller \nolimits afhængigt af den ønskede adfærd i kombination med _ og ^. Se nedenfor.

\documentclass{article} \begin{document} { nothing: \newcommand{\argmin}{\mathop{\mathrm{argmin}}} $\argmin_a^b$ $$\argmin_a^b$$ } { limits: \newcommand{\argmin}{\mathop{\mathrm{argmin}}\limits} $\argmin_a^b$ $$\argmin_a^b$$ } { nolimits: \newcommand{\argmin}{\mathop{\mathrm{argmin}}\nolimits} $\argmin_a^b$ $$\argmin_a^b$$ } \end{document} 

Svar

Dette fungerer uden yderligere pakke. Det opretter dog en ny linje.

$$\pi(s) = arg\max_\theta$$ 

Kommentarer

  • $$...$$ anbefales ikke at bruge med LaTeX. Bedre brug \[ ... \] til korrekt lodret afstand.
  • Denne løsning angiver ikke argmax korrekt. Her vil arg være i kursiv (og med dårlig afstand), og max vil være lodret.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *