Giving Unicode to mathematicians was a mistake
Conversation
Notices
-
Embed this notice
Steph :|> (steph@fedi.steph.tools)'s status on Wednesday, 16-Apr-2025 18:38:13 JST Steph :|>
-
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 18:38:11 JST SuperDicq
@steph@fedi.steph.tools LaTeX was already bad enough
-
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 18:39:35 JST SuperDicq
@steph@fedi.steph.tools I want mathematicians to write shit down in ascii instead of Latex so I can actually read what the hell they are talking about.
-
Embed this notice
Steph :|> (steph@fedi.steph.tools)'s status on Wednesday, 16-Apr-2025 18:39:37 JST Steph :|>
@SuperDicq i want latex mathmode in my source code
-
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 18:47:31 JST SuperDicq
@steph@fedi.steph.tools The last time I actually did math on paper was in highschool so all the latex crap that smart people like to use confuses the heck out of me.
If I don't understand some psychotic latex math equation from a really nerdy Wikipedia article or something I will literally instead just look at how someone else implemented it into a random computer program's source code and it will instantly make a lot more sense to me. -
Embed this notice
Steph :|> (steph@fedi.steph.tools)'s status on Wednesday, 16-Apr-2025 18:47:33 JST Steph :|>
@SuperDicq I mean people do replace λ with \ and ∧ with /\ and there's a whole list of these substitutions, but you gotta know what they mean right, like what they translate to
-
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 18:50:48 JST SuperDicq
@steph@fedi.steph.tools So I have a very biased opinion that everyone should just write code instead of latex math rendering or whatever.
-
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 18:55:18 JST 翠星石
@SuperDicq @steph The mathematics indeed write the formula with ASCII - in \LaTeX{} that is.
Beautiful isn't it?;
\scalebox{1.4}{$(x + y)^n = \mathlarger{\mathlarger{\sum}}_{k=0}^{n}\mybinom[1]{n}{k}x^ky^{n-k}$}\\
$= \mybinom[1]{n}{0}y^n + \mybinom[1]{n}{1}xy^{n-1} + \mybinom[1]{n}{2}x^2y^{n-2}+ ... + \mybinom[1]{n}{n-1}x^{n-1}y + \mybinom[1]{n}{n}x^n$\\
$\mbox{\small$ \begin{pmatrix}
\dfrac{6}{5} & \dfrac{-8}{5} \\
\\
\dfrac{26}{5} & \dfrac{32}{5}\\
\\
\dfrac{17}{5} & \dfrac{-6}{5}\\
\end{pmatrix}$} \mbox{\small$ \begin{pmatrix}
\dfrac{1}{\sqrt{2}} & \dfrac{1}{\sqrt{2}}\\
\\
\dfrac{-1}{\sqrt{2}} & \dfrac{1}{\sqrt{2}}
\end{pmatrix}$} = \mbox{\small$ \begin{pmatrix}
\bigg(\dfrac{6}{5} \times \dfrac{1}{\sqrt{2}}\bigg)+\bigg(\dfrac{6}{5} \times \dfrac{-1}{\sqrt{2}}\bigg) & \bigg(\dfrac{-8}{5} \times \dfrac{1}{\sqrt{2}}\bigg)+\bigg(\dfrac{-8}{5} \times \dfrac{1}{\sqrt{2}}\bigg) \\
\\
\bigg(\dfrac{26}{5} \times \dfrac{1}{\sqrt{2}}\bigg)+\bigg(\dfrac{26}{5} \times \dfrac{-1}{\sqrt{2}}\bigg) & \bigg(\dfrac{32}{5} \times \dfrac{1}{\sqrt{2}}\bigg)+\bigg(\dfrac{32}{5} \times \dfrac{1}{\sqrt{2}}\bigg)\\
\\
\bigg(\dfrac{17}{5} \times \dfrac{1}{\sqrt{2}}\bigg)+\bigg(\dfrac{17}{5} \times \dfrac{-1}{\sqrt{2}}\bigg) & \bigg(\dfrac{-6}{5} \times \dfrac{1}{\sqrt{2}}\bigg)+\bigg(\dfrac{-6}{5} \times \dfrac{1}{\sqrt{2}}\bigg)\\
\end{pmatrix}$}$\\
Here, you can even visually see what one LaTeX enjoyer was writing about (just compile it with XeLaTeX+tikz);
\begin{tikzpicture}
[cube/.style={thick,black},
grid/.style={very thin,black!20},
axis/.style={->,thick},
plane/.style={very thick,black},
back/.style={thin, black}]
%draw a grid in the x-y plane
\foreach \x in {-0.5,0,...,7.5}
\foreach \y in {-0.5,0,...,7.5}
{
\draw[grid] (\x,-0.5) -- (\x,7.5);
\draw[grid] (-0.5,\y) -- (7.5,\y);
}
%right wing
\draw[plane,fill=gray] (5,5,7) -- (2,5,7) -- (4,4,7);
%plane body
\draw[back] (4.5,5,4) -- (5.5,5,4) -- (5.5,4,4) -- (4.5,4,4) -- cycle;
\draw[plane] (4.5,5,10) -- (5.5,5,10) -- (5.5,4,10) -- (4.5,4,10) -- cycle;
%plane body top
\draw[plane,fill=gray] (4.5,5,4) -- (4.5,5,10) -- (5.5,5,10) -- (5.5,5,4) --
cycle;
%plane body side
\draw[plane,fill=gray] (5.5,4,4) -- (5.5,4,10) -- (5.5,5,10) -- (5.5,5,4) -- cycle;
%rear
\draw[plane] (4.5,4,2) -- (4.25,4,2) -- (4.25,4.25,2) -- (3,4.25,2) -- (5.05,5.5,2) -- (7,4.25,2) -- (5.75,4.25,2) -- (5.75,4,2) -- cycle;
%wing to body edges
\draw[back] (4.25,4,2) -- (4.5,4,4);%bottom
\draw[plane,fill=gray] (3,4.25,2) -- (5.05,5.5,2) -- (4.5,4.5,4) -- cycle;%left wingspan
\draw[back,fill=gray] (5.75,4,2) -- (5.5,4,4) -- (5.5,5,4) -- (5.75,4.25,2) -- cycle;%bottom
\draw[plane,fill=gray] (5.05,5.5,2) -- (7,4.25,2) -- (4.5,4.5,4) -- cycle;%right wingspan
%left wing
\draw[plane,fill=gray] (6,5,7) -- (9,5,7) -- (5,4,7) -- cycle;
%nose top
\draw[plane,fill=gray] (4.5,5,10) -- (5.5,5,14) -- (5.5,5,10) -- cycle;
%nose side
\draw[plane,fill=gray] (5.5,5,10) -- (5.5,5,14) -- (5.5,4,10) -- cycle;
%draw the front and and back of the cube
\draw[cube] (0,0,0) -- (0,7,0) -- (7,7,0) -- (7,0,0) -- cycle;
\draw[cube] (0,0,7) -- (0,7,7) -- (7,7,7) -- (7,0,7) -- cycle;
%draw the edges of the cube
\draw[cube] (0,0,0) -- (0,0,7);
\draw[cube] (0,7,0) -- (0,7,7);
\draw[cube] (7,0,0) -- (7,0,7);
\draw[cube] (7,7,0) -- (7,7,7);
\draw[axis,red] (5.5,5,8) -- (10,5,8) node[anchor=west]{$x$};
\draw[axis,green] (5.5,5,8) -- (5.5,10,8) node[anchor=west]{$y$};
\draw[axis,blue] (5.5,5,8) -- (5.5,5,18) node[anchor=west]{$z$};
\end{tikzpicture}\\
I want a fedi \LaTeX{} mode, so I can type that and get; -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 18:57:53 JST 翠星石
@SuperDicq @steph \scalebox{1.4}{$8x(x^2-\dfrac{8}{x})^{12} = x \mathlarger{\mathlarger{\sum}}_{k=0}^{12}\mybinom[1]{12}{k}(x^2)^{k}(-\dfrac{8}{x})^{12-k}$} -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 18:57:57 JST 翠星石
@SuperDicq @steph \scalebox{1.4}{$8x(x^2-\dfrac{8}{x})^{12} = x \mathlarger{\mathlarger{\sum}}_{k=0}^{12}\mybinom[1]{12}{k}(x^2)^{k}(-\dfrac{8}{x})^{12-k}$} -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 19:00:48 JST 翠星石
@SuperDicq @steph LaTeX is indeed Turing complete by the way; https://ctan.org/pkg/texmate
I'll gladly write up some code in \LaTeX{} for you if you want. -
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 19:08:15 JST SuperDicq
@Suiseiseki@freesoftwareextremist.com @steph@fedi.steph.tools Yes but one thing that I consider even more unreadable than rendered latex is the latex source file.
People should just post their mathematical functions implemented in a common programming language such as C, Python, PHP or heck even Lisp.
You know, stuff that I can actually read.In conversation permalink -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 19:09:07 JST 翠星石
@SuperDicq @steph Get good - I can read C and LaTeX source just as well. In conversation permalink -
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 19:09:40 JST SuperDicq
@Suiseiseki@freesoftwareextremist.com @steph@fedi.steph.tools You think turing complete code in latex is just as easy to read as C?
In conversation permalink Abhiseck Paira :gnu: repeated this. -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 19:10:37 JST 翠星石
@SuperDicq @steph Turing complete code in LaTeX is just as hard to read as next level GNU C. In conversation permalink -
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 19:11:13 JST SuperDicq
@Suiseiseki@freesoftwareextremist.com @steph@fedi.steph.tools What is next level GNU C? I only now regular GNU C
In conversation permalink -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 19:22:06 JST 翠星石
@SuperDicq @steph This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
static void
sincosx_mpn (mp1 si, mp1 co, mp1 xx, mp1 ix)
{
int i;
mp2 s[4], c[4];
mp1 tmp, x;
if (ix == NULL)
{
memset (si, 0, sizeof (mp1));
memset (co, 0, sizeof (mp1));
co[SZ-1] = 1;
memcpy (x, xx, sizeof (mp1));
}
else
mpn_sub_n (x, xx, ix, SZ);
for (i = 0; i < 1 << N; i++)
{
#define add_shift_mulh(d,x,s1,s2,sh,n) \
do { \
if (s2 != NULL) { \
if (sh > 0) { \
assert (sh < mpbpl); \
mpn_lshift (tmp, s1, SZ, sh); \
if (n) \
mpn_sub_n (tmp,tmp,s2+FRAC/mpbpl,SZ); \
else \
mpn_add_n (tmp,tmp,s2+FRAC/mpbpl,SZ); \
} else { \
if (n) \
mpn_sub_n (tmp,s1,s2+FRAC/mpbpl,SZ); \
else \
mpn_add_n (tmp,s1,s2+FRAC/mpbpl,SZ); \
} \
mpn_mul_n(d,tmp,x,SZ); \
} else \
mpn_mul_n(d,s1,x,SZ); \
assert(N+sh < mpbpl); \
if (N+sh > 0) mpn_rshift(d,d,2*SZ,N+sh); \
} while(0)
#define summ(d,ss,s,n) \
do { \
mpn_add_n(tmp,s[1]+FRAC/mpbpl,s[2]+FRAC/mpbpl,SZ); \
mpn_lshift(tmp,tmp,SZ,1); \
mpn_add_n(tmp,tmp,s[0]+FRAC/mpbpl,SZ); \
mpn_add_n(tmp,tmp,s[3]+FRAC/mpbpl,SZ); \
mpn_divmod_1(tmp,tmp,SZ,6); \
if (n) \
mpn_sub_n (d,ss,tmp,SZ); \
else \
mpn_add_n (d,ss,tmp,SZ); \
} while (0)
add_shift_mulh (s[0], x, co, NULL, 0, 0); /* s0 = h * c; */
add_shift_mulh (c[0], x, si, NULL, 0, 0); /* c0 = h * s; */
add_shift_mulh (s[1], x, co, c[0], 1, 1); /* s1 = h * (c - c0/2); */
add_shift_mulh (c[1], x, si, s[0], 1, 0); /* c1 = h * (s + s0/2); */
add_shift_mulh (s[2], x, co, c[1], 1, 1); /* s2 = h * (c - c1/2); */
add_shift_mulh (c[2], x, si, s[1], 1, 0); /* c2 = h * (s + s1/2); */
add_shift_mulh (s[3], x, co, c[2], 0, 1); /* s3 = h * (c - c2); */
add_shift_mulh (c[3], x, si, s[2], 0, 0); /* c3 = h * (s + s2); */
summ (si, si, s, 0); /* s = s + (s0+2*s1+2*s2+s3)/6; */
summ (co, co, c, 1); /* c = c - (c0+2*c1+2*c2+c3)/6; */
}
#undef add_shift_mulh
#undef summ
}In conversation permalink Attachments
-
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 19:48:02 JST SuperDicq
@Suiseiseki@freesoftwareextremist.com @steph@fedi.steph.tools I don't understand what is next level about this? This looks like regular C other than the fact that things that I would usually define as functions are defined as macros for some reason.
Is this to avoid overhead by function calls?In conversation permalink -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 19:49:24 JST 翠星石
@SuperDicq @steph I just pasted a random function from glibc - it's as readable as LaTeX to me. In conversation permalink -
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 19:49:56 JST SuperDicq
@Suiseiseki@freesoftwareextremist.com @steph@fedi.steph.tools Ok, reimplement this in latex then
In conversation permalink -
Embed this notice
翠星石 (suiseiseki@freesoftwareextremist.com)'s status on Wednesday, 16-Apr-2025 19:51:12 JST 翠星石
@SuperDicq @steph What for really? It's already implemented. In conversation permalink -
Embed this notice
SuperDicq (superdicq@minidisc.tokyo)'s status on Wednesday, 16-Apr-2025 19:52:13 JST SuperDicq
@Suiseiseki@freesoftwareextremist.com @steph@fedi.steph.tools I mean there's probably a reason why most people prefer to develop programs in C and not in Latex, right?
In conversation permalink
-
Embed this notice