<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">cheb</journal-id><journal-title-group><journal-title xml:lang="ru">Чебышевский сборник</journal-title><trans-title-group xml:lang="en"><trans-title>Chebyshevskii Sbornik</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">2226-8383</issn><publisher><publisher-name>Tula State Lev Tolstoy  Pedagogical University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.22405/2226-8383-2015-16-3-496-509</article-id><article-id custom-type="elpub" pub-id-type="custom">cheb-226</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>Article</subject></subj-group></article-categories><title-group><article-title>ВЕКТОРИЗАЦИЯ И ГНЕЗДОВЫЕ МАССИВЫ</article-title><trans-title-group xml:lang="en"><trans-title>VECTORIZATION AND NESTED ARRAYS</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Есаян</surname><given-names>А. Р.</given-names></name><name name-style="western" xml:lang="en"><surname>Esayan</surname><given-names>A. R.</given-names></name></name-alternatives><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Якушин</surname><given-names>А. В.</given-names></name><name name-style="western" xml:lang="en"><surname>Yakushin</surname><given-names>A. V.</given-names></name></name-alternatives><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff xml:lang="ru" id="aff-1"><institution>Тульский государственный педагогический университет им. Л. Н. Толстого.</institution><country>Russian Federation</country></aff><pub-date pub-type="collection"><year>2015</year></pub-date><pub-date pub-type="epub"><day>06</day><month>07</month><year>2016</year></pub-date><volume>16</volume><issue>3</issue><fpage>496</fpage><lpage>509</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Есаян А.Р., Якушин А.В., 2016</copyright-statement><copyright-year>2016</copyright-year><copyright-holder xml:lang="ru">Есаян А.Р., Якушин А.В.</copyright-holder><copyright-holder xml:lang="en">Esayan A.R., Yakushin A.V.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.chebsbornik.ru/jour/article/view/226">https://www.chebsbornik.ru/jour/article/view/226</self-uri><abstract><p>В PTC Mathcad, да и в прежних версиях Mathcad, для числовых и символьных вычислений предложена специальный оператор векторизации, с помощью которого можно выполнять многие встроенные и некоторые пользовательские функции одной переменной над каждым скалярным или строковым элементом простых или гнездовых (вложенных) массивов. Этот оператор выглядит в виде направленной слева направо стрелки над выражением. Операцию векторизации можно применять и к встроенным функциям нескольких переменных, но только над простыми масси- вами со скалярными или строковыми элементами. Итак, подчеркнем, что для встроенных функций от одной или нескольких переменных операция векторизации в случае гнездовых массивов может быть реализована далеко не всегда. А для пользовательских функций она, как правило, не реализуется даже для простых массивов. В статье сняты все упомянутые ограничения, то есть построены анало- ги операции векторизации для любых встроенных или пользовательских функций от одной или нескольких переменных при простых или гнездовых массивах. Предложены компактные рекурсивные функции, выполняющие роль оператора векторизации. Рассмотрено два возможных подхода к решению данной задачи. При первом подходе для функций g от n пе- ременных строятся отдельные рекурсивные программы-функции F1, F2, F3, . . . , реализующие векторизацию соответственно при n = 1, 2, 3, . . . . При втором подходе для функции g от n переменных создается единая при любых n = 1, 2, ... программа-функция F, выполняющую роль оператора векторизации. В связи с задачей векторизации гнездовых массивов сформулированы некоторые вспомогательные задачи и для них предложены решения в виде рекурсивных функций.</p><p> </p></abstract><trans-abstract xml:lang="en"><p>In PTC Mathcad, and in previous versions of Mathcad, for numeric and symbolic computation proposed special vectorization operation, which can be used to perform many built-in and some custom functions of one variable over each scalar element or string element simple or nested arrays. This operator looks in the form of directed arrows from left to right over expression. The operation of the vectorization can be applied to built-in functions of several variables, but only over a simple array with a scalar or string elements. So, we emphasize that for built-in functions of one or several variables vectorization operation in the case of nested arrays can be implemented not always. And for user-defined functions, it is usually not implemented even for simple arrays. In the article removed all these constraints and are constructed analogues operation vectorization for any built-in or user-defined functions from one or more variables over simple or nested arrays. There are proposed compact recursive functions that perform the role of the vectorization operator. We considered two possible approaches to solving this problem. When you first approach for functions g of n variables are constructed separate recursive programs-functions F1, F2, F3, ..., implement vectorization respectively for n = 1, 2, 3, ... . The second approach for a function g from n variables creates a single for any n = 1, 2, ... program-function F that performs the role of the vectorization operator. In connection with the problem of vectorization for nested arrays formulated some auxiliary problem and were proposed solutions in a form of recursive functions.</p><p> </p></trans-abstract><kwd-group xml:lang="ru"><kwd>гнездовой массив</kwd><kwd>матрица</kwd><kwd>дерево</kwd><kwd>векторизация</kwd><kwd>декомпозиция</kwd><kwd>рекурсия</kwd><kwd>рекурсивная функция</kwd><kwd>PTC Mathcad</kwd></kwd-group><kwd-group xml:lang="en"><kwd>nested array</kwd><kwd>matrix</kwd><kwd>tree</kwd><kwd>vectorization</kwd><kwd>decomposition</kwd><kwd>recursion</kwd><kwd>recursive function</kwd><kwd>PTC Mathcad</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Есаян А. Р. Обучение алгоритмизации на основе рекурсии. Тула: Изд. ТГПУ, 2001, с. 215</mixed-citation><mixed-citation xml:lang="en">Esayan, A. R. 2001, "Obuchenie algoritmizacii na osnove rekursii." , [Teaching algorithmization based on recursion], TGPU, Tula, 215 pp. (Russian)</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Brent Maxfield, P. E. Essential PTC Mathcad Prime 3.0. A Guide for New and Cur-rent Users, New York, Academic Press is an imprint of Elsevier, Nov. 11, 2013, p. 563</mixed-citation><mixed-citation xml:lang="en">Brent Maxfield, P. E. 2013, Essential PTC Mathcad Prime 3.0. A Guide for New and Cur-rent Users, Academic Press, New York.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Нans Wessenlingh and Hans de Waard. Calculate &amp; Communicate with Mathcad Prime 3.0, Delft Academic Press, The Netherlands, First edition 2014</mixed-citation><mixed-citation xml:lang="en">Wessenlingh, Н. &amp; de Waard, H. 2014, Calculate &amp; Communicate with Mathcad Prime 3.0, Delft Academic Press, The Netherlands.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru"></mixed-citation><mixed-citation xml:lang="en"></mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
