## array ## 1 ### habr - [Алгоритм моделирования многомерного массива данных, распределенных по нормальному закону](https://habr.com/ru/articles/145315/) ### excel - https://www.excel-vba.ru/chto-umeet-excel/dinamicheskie-massivy-v-excel/ Начнем с того, что динамические массивы будут доступны пользователям следующих версий Excel: - 365 офис (по подписке) - офис 2021 (для MAC и для Windows) ### js - https://selectel.ru/blog/array-methods-part-1/ ## 2 ### tuples_or_sets - https://www.reddit.com/r/learnpython/comments/ve6fe5/why_use_tuples_or_sets_instead_of_lists/?tl=ru Список Очень похож на кортеж в использовании, но очень отличается по концепции. Техническое объяснение состоит в том, что список - это изменяемая упорядоченная коллекция, то есть ее состояние может меняться, но порядок элементов гарантирован. - https://informatics.msk.ru/mod/book/view.php?id=49881 ## 3 AI ### array В функции есть несколько массивов - как входящие данные и несколько массивов - как результат функции. Как записать математически? Понял, вы хотите, чтобы математическая запись функции с несколькими массивами на входе и выходе была оформлена только с помощью `$` (инлайн) и `$$` (дисплей) — так формулы гарантированно корректно отображаются на GitHub (через MathJax). Ниже привожу варианты, используя только эти конструкции. --- ## 1. Математическая нотация В математике массивы обычно рассматриваются как элементы множеств ### Вариант 1: Декартово произведение (дисплейная формула) $$ f: A_1 \times A_2 \times \dots \times A_k \;\longrightarrow\; B_1 \times B_2 \times \dots \times B_m $$ ### Вариант 2: Значение функции — кортеж (дисплейная формула) $$ f(a_1, a_2, \dots, a_k) = (b_1, b_2, \dots, b_m) $$ где $a_i \in A_i$, $b_j \in B_j$. ### Вариант 3: Векторная форма (если все массивы одного типа) $$ f: A^k \to B^m,\qquad f(\mathbf{a}) = \mathbf{b} $$ с $\mathbf{a} \in A^k$, $\mathbf{b} \in B^m$. ### Вариант 4: Теоретико-множественное определение (с использованием $\subseteq$) $$ f \subseteq (A_1 \times \dots \times A_k) \times (B_1 \times \dots \times B_m) $$ и для каждого входа существует ровно один выход. --- ## 2. Программирование (кратко, с акцентом на сигнатуры) На GitHub в блоках кода формулы не нужны, поэтому просто приведу примеры сигнатур. **Python (кортеж):** ```python def process(arr1: list, arr2: list) -> tuple[list, list]: ... ``` **C (выходные параметры):** ```c void process(int* in1, int* in2, int* out1, int* out2); ``` **Go (структура):** ```go type Result struct { Out1 []int; Out2 []int } func process(in1, in2 []int) Result ``` Если нужно именно математическое описание для GitHub — используйте приведённые выше формулы с `$` и `$$`, они будут отображаться корректно. --- ## 3. Замечания - В математике часто стремятся объединить несколько выходных массивов в один (например, в виде матрицы, где столбцы — отдельные массивы), чтобы функция возвращала один объект. - В программировании предпочтение отдаётся ясности: лучше явно указать типы и имена возвращаемых значений (через кортеж, объект или структуру), чем смешивать их в одном массиве. - Если входные массивы имеют одинаковую структуру, их часто передают как один массив массивов (список списков).