Скалярный тип

В общей и линейной алгебре скаляр - элемент основного поля. При этом, любой элемент линейного пространства может быть умножен на скаляр и результатом будет другой, коллинеарный элемент линейного пространства.

Важно заметить, что понятие скаляра довольно сильно связано с контекстом. Так, в общепринятом контексте современной физики часть приведённых величин скалярными не являются.

В современной физике, подразумевающей пространственно-временной подход, под скаляром обычно имеется в виду скалярное поле , то есть пространственно-временной скаляр, лоренц-инвариантная величина, не меняющаяся при переходе от одной инерциальной системы отсчёта к другой (а в общей теории относительности и других метрических теориях гравитации - скаляр остается неизменным также и при переходе к неинерциальным системам отсчёта). В этом отличие от ньютоновской физики, где под скаляром понимается обычный скаляр обычного трёхмерного пространства (так, энергия в ньютоновском смысле - скаляр, а в пространственно-временном - лишь компонента четырёхмерного вектора).

Ошибочные примеры

Типичным примером величины, выражающейся одним числом, но не являющейся скаляром, является одна из координат вектора в каком-то произвольно выбранном базисе (при почти любом изменении базиса координата не останется неизменной, она, таким образом, не инвариант) .

То же касается координаты тензора любой другой валентности (кроме нулевой).

Ещё одним примером величины, не являющейся, строго говоря, скаляром, является псевдоскаляр (хотя на практике иногда, исходя из соображений удобства или краткости, разграничения между скалярами и псевдоскалярами могут и не проводить, если это не существенно для изложения).

Напишите отзыв о статье "Скаляр"

Примечания

Отрывок, характеризующий Скаляр

Билибин любил разговор так же, как он любил работу, только тогда, когда разговор мог быть изящно остроумен. В обществе он постоянно выжидал случая сказать что нибудь замечательное и вступал в разговор не иначе, как при этих условиях. Разговор Билибина постоянно пересыпался оригинально остроумными, законченными фразами, имеющими общий интерес.
Эти фразы изготовлялись во внутренней лаборатории Билибина, как будто нарочно, портативного свойства, для того, чтобы ничтожные светские люди удобно могли запоминать их и переносить из гостиных в гостиные. И действительно, les mots de Bilibine se colportaient dans les salons de Vienne, [Отзывы Билибина расходились по венским гостиным] и часто имели влияние на так называемые важные дела.
Худое, истощенное, желтоватое лицо его было всё покрыто крупными морщинами, которые всегда казались так чистоплотно и старательно промыты, как кончики пальцев после бани. Движения этих морщин составляли главную игру его физиономии. То у него морщился лоб широкими складками, брови поднимались кверху, то брови спускались книзу, и у щек образовывались крупные морщины. Глубоко поставленные, небольшие глаза всегда смотрели прямо и весело.
– Ну, теперь расскажите нам ваши подвиги, – сказал он.
Болконский самым скромным образом, ни разу не упоминая о себе, рассказал дело и прием военного министра.
– Ils m"ont recu avec ma nouvelle, comme un chien dans un jeu de quilles, [Они приняли меня с этою вестью, как принимают собаку, когда она мешает игре в кегли,] – заключил он.
Билибин усмехнулся и распустил складки кожи.
– Cependant, mon cher, – сказал он, рассматривая издалека свой ноготь и подбирая кожу над левым глазом, – malgre la haute estime que je professe pour le православное российское воинство, j"avoue que votre victoire n"est pas des plus victorieuses. [Однако, мой милый, при всем моем уважении к православному российскому воинству, я полагаю, что победа ваша не из самых блестящих.]
Он продолжал всё так же на французском языке, произнося по русски только те слова, которые он презрительно хотел подчеркнуть.
– Как же? Вы со всею массой своею обрушились на несчастного Мортье при одной дивизии, и этот Мортье уходит у вас между рук? Где же победа?
– Однако, серьезно говоря, – отвечал князь Андрей, – всё таки мы можем сказать без хвастовства, что это немного получше Ульма…
– Отчего вы не взяли нам одного, хоть одного маршала?
– Оттого, что не всё делается, как предполагается, и не так регулярно, как на параде. Мы полагали, как я вам говорил, зайти в тыл к семи часам утра, а не пришли и к пяти вечера.
– Отчего же вы не пришли к семи часам утра? Вам надо было притти в семь часов утра, – улыбаясь сказал Билибин, – надо было притти в семь часов утра.
– Отчего вы не внушили Бонапарту дипломатическим путем, что ему лучше оставить Геную? – тем же тоном сказал князь Андрей.
– Я знаю, – перебил Билибин, – вы думаете, что очень легко брать маршалов, сидя на диване перед камином. Это правда, а всё таки, зачем вы его не взяли? И не удивляйтесь, что не только военный министр, но и августейший император и король Франц не будут очень осчастливлены вашей победой; да и я, несчастный секретарь русского посольства, не чувствую никакой потребности в знак радости дать моему Францу талер и отпустить его с своей Liebchen [милой] на Пратер… Правда, здесь нет Пратера.
Он посмотрел прямо на князя Андрея и вдруг спустил собранную кожу со лба.
– Теперь мой черед спросить вас «отчего», мой милый, – сказал Болконский. – Я вам признаюсь, что не понимаю, может быть, тут есть дипломатические тонкости выше моего слабого ума, но я не понимаю: Мак теряет целую армию, эрцгерцог Фердинанд и эрцгерцог Карл не дают никаких признаков жизни и делают ошибки за ошибками, наконец, один Кутузов одерживает действительную победу, уничтожает charme [очарование] французов, и военный министр не интересуется даже знать подробности.
– Именно от этого, мой милый. Voyez vous, mon cher: [Видите ли, мой милый:] ура! за царя, за Русь, за веру! Tout ca est bel et bon, [все это прекрасно и хорошо,] но что нам, я говорю – австрийскому двору, за дело до ваших побед? Привезите вы нам свое хорошенькое известие о победе эрцгерцога Карла или Фердинанда – un archiduc vaut l"autre, [один эрцгерцог стоит другого,] как вам известно – хоть над ротой пожарной команды Бонапарте, это другое дело, мы прогремим в пушки. А то это, как нарочно, может только дразнить нас. Эрцгерцог Карл ничего не делает, эрцгерцог Фердинанд покрывается позором. Вену вы бросаете, не защищаете больше, comme si vous nous disiez: [как если бы вы нам сказали:] с нами Бог, а Бог с вами, с вашей столицей. Один генерал, которого мы все любили, Шмит: вы его подводите под пулю и поздравляете нас с победой!… Согласитесь, что раздразнительнее того известия, которое вы привозите, нельзя придумать. C"est comme un fait expres, comme un fait expres. [Это как нарочно, как нарочно.] Кроме того, ну, одержи вы точно блестящую победу, одержи победу даже эрцгерцог Карл, что ж бы это переменило в общем ходе дел? Теперь уж поздно, когда Вена занята французскими войсками.

Скалярные значения.

Все данные в Perl это скаляры, массивы скаляров и хеши скаляров. Скалярные переменные могут содержать числа, строки и ссылки. Преобразование числа - строки происходит автоматически по умолчанию. Скаляр может иметь только одно единственное значение, хотя это может быть ссылка на массив скаляров. Так как Perl сам преобразовывает числа в строки и наоборот, то программисту нет необходимости думать о том, что возвращает функция.

В Perl не существует типов "строка" или "число" или "файл" или что-то еще. Это контекстно зависимый полиморфный язык для работы с текстами. Скаляр имеет логическое значение "TRUE" (истина), если это не нулевая строка или число не равное 0.

В Perl существует два типа нулевых (null) скаляров - определенные (defined) и неопределенные (undefined). Неопределенное значение возвращается, когда что-то не существует. Например, неизвестная переменная, конец файла или ошибка. С помощью функции defined() вы можете заранее обнаружить подобное состояние.

Количество элементов массива так же является скаляром и начинается символами $#. Фактически $#var1 - это индекс последнего элемента массива. Нужно помнить, что первый элемент имеет индекс 0, поэтому количество элементов определяется как $#var1+1 . Присвоение значения $#var1 изменит длину массива и разрушит "оставленные" значения. Присвоение значения элементу массива с индексом больше чем $#var1 увеличит размер массива, а присвоение ему нулевого списка - обнулит.

В скалярном контексте имя массива возвращает его длину (для списка возвращается последний элемент):

@var1 = (4, 3, 2, 1);# Присвоение значения элементам массива

$i = @var1; # Использование скалярного контекста

print $i; # Печать результата 4 - кол-во элементов

print @var1; # Списковый контекст, печать всех элементов.

Для принудительного получения скалярного значения удобно применять функцию scalar():

print scalar(@var1);# Вывод длины массива а не его значений

Хеш в скалярном контексте возвращает "true", если существует хотя бы одна пара "ключ-значение". Фактически возвращается строка типа 2/8 где 8 - количество выделенных "ячеек" памяти, а 2 - количество использованных.

Конструкторы скаляров. Числа пишутся стандартно:

0xABCD # Шестнадцатиричная запись

0377 # Если 0 в начале - восьмеричная

123_456_123 # Так тоже можно для удобства чтения.

Строки ограничиваются одинарными (") или двойными (") кавычками:

"Равняйсь, смирно!" или "Построимся и спасемся."

В хеше можно опускать кавычки, если индекс не содержит пробелов:

$var1{first} то же что и $var1{"first"}

Обратите внимание на то, что перед первой одинарной кавычкой должен стоять пробел, иначе строка воспримется как имя переменной, т. к. в именах разрешено использование одинарных кавычек. Запрещается в кавычках применять зарезервированные литералы __LINE__ (номер текущей строки программы), __FILE__ (текущий файл). Для обозначения конца программы можно применять литерал __END__. Весь последующий текст игнорируется, но его можно прочитать, используя указатель файла DATA.

Слова в программе, не поддающиеся никакой интерпретации, воспринимаются как строки в кавычках, поэтому рекомендуется имена меток и указателей файлов писать большими буквами во избежание возможного "конфликта" с зарезервированными словами.

В Perl есть возможность вставлять текст документа прямо в программу, используя "here-doc" (здесь текст) метод. Обозначается символами <<, за которыми идет слово-ограничитель:

print <

Эй вы трое, идите оба сюда!

Что стоишь! Я тебе говорю!!

Полковник Савонькин.

Конструкторы списков. Список - множество значений, перечисленных через запятую и заключенных в круглые скобки. В списковом контексте список возвращает последний элемент списка:

@var1 = (1, 2, "привет", 1.2); # Присвоить значение элементам.где

$var1 = "привет"

$var1 = (1, 2, "привет", 1.2);

а здесь $var1 = 1.2 т.е. последнее значение списка.

Допускается применять в списке другие списки, но в полученном списке уже невозможно различить начало и конец включенных списков:

@s1 = (1, 2, 3); # Первый список

@s2 = (6, 7, 8); # Второй

@s = (0, @s1, 4, 5, @s2, 9, 10); # Включаем списки @s1 и @s2

print @s; # Результат: 012345678910 - значения без пробелов.

Список без элементов обозначается, как (), и называется нуль-списком. Списковое выражение можно употреблять как имя массива, но при этом брать в круглые скобки:

print ("январь","февраль","март");

Результат: февраль

Список может быть присвоен списку, только если каждый элемент в списке в левой части выражения допустим по типу списку в правой части:

($a, $b, $c) = (1, 2, 3); # $a = 1, $b

Встроенные переменные Perl.

Описанные ниже переменные имеют в Perl специальные значения. Они обозначаются несколько непривычно для "глаза" программистов, т.к. состоят обычно только из двух символов, причем первый это "$" символ, с которого начинаются имена всех переменных, и произвольный часто не буквенно-цифровой символ. Если вы хотите пользоваться их "нормальными" буквенными синонимами, то вам нужно указать в начале программы:

Ниже приводятся имена встроенных переменных как в короткой, так и в длинной (словесной) форме. Некоторые из них имеют доступ только на чтение, поэтому изменить их значение невозможно.

$_ ($ARG ) - переменная - по умолчанию для операторов ввода и поиска. То есть если в качестве аргумента не указана никакая переменная, то используется именно эта.

$цифра - содержит найденную в последнем поиске подстроку, когда шаблон содержит метасимволы в круглых скобках. Цифра - это номер скобок. Первая подстрока - номер 1.

$& ($MATCH ) - найденная подстрока в последнем поиске по шаблону.

$` - подстрока, предшествующая найденной подстроке.

$" ($POSTMATCH ) - подстрока, последующая за найденной подстрокой.

$+ ($LAST_PAREN_MATCH ) - подстрока, найденная в поиске с выбором по "или".

$* ($MULTILINE_MATCHING ) - если ее значение установить равным 1, то переменная, в которой осуществляется поиск, будет считаться многострочной, т.е. содержащей символы "\n" - перевод строки. Если значение равно 0, то переменная считается однострочной.



$. ($INPUT_LINE_NUMBER), ($NR) - номер прочитанной строки последнего оператора ввода. Закрытие файла вызывает очистку значения этой переменной.

$/ ($RS), ($INPUT_RECORD_SEPARATOR) - символ - признак конца входной строки. По умолчанию это "\n"

$| ($OUTPUT_AUTOFLUSH ) - если присвоить этой переменной ненулевое значение, то будет сброс буфера вывода после каждой операции вывода. Значение по умолчанию - 0

$, ($OFS), ($OUTPUT_FIELD_SEPARATOR) - символ, добавляемый оператором print после каждого элемента из списка параметров.

$\ ($ORS), ($OUTPUT_RECORD_SEPARATOR) - символ, добавляемый print после вывода всех параметров.

$" ($LIST_SEPARATOR) - аналогичен "$,", но добавляется после каждого элемента массива, указанного в "....".

$# ($OFMT) - формат по умолчанию для вывода чисел.

$% ($FORMAT_PAGE_NUMBER) - формат по умолчанию для вывода номеров страниц.

$= ($FORMAT_LINES_PER_PAGE) - длина одной страницы. По умолчанию 60 строк.

$- ($FORMAT_LINES_LEFT) - количество оставшихся строк на странице.

$~ ($FORMAT_NAME) - имя формата текущего вывода. По умолчанию имя указателя.

$^ ($FORMAT_TOP_NAME) - имя текущего формата для заголовка страницы.

$: ($FORMAT_LINE_BREAK_CHARACTERS) - символы переноса строки для многострочных полей. В строке формата такие поля начинаются с "^". По умолчанию "\n-".

$^L ($FORMAT_FORMFEED) - символ перевода формата (листа). По умолчанию "\f".

$^A ($ACCUMULATOR) - текущее значение аккумулятора функции write() для format(). Значение этой переменной можно увидеть только при использовании функции formline(), т.к. write() очищает ее после каждого вывода.

$? ($CHILD_ERROR ) - данная переменная содержит статус завершения таких процессов как: закрытие pipe, завершение функций system(), wait() и `...`.

$! ($ERRNO $OS_ERROR ) - в числовом контексте возвращает код ошибки errno. В строковом - строку сообщения об ошибке. Можно принудительно присвоить этой переменной код ошибки, что бы получить системное сообщение для данного кода или установить код завершения для функции die().

$@ ($EVAL_ERROR ) - сообщение об ошибке последней команды eval().

$$ ($PID), ($PROCESS_ID ) - номер текущего процесса.

$O ($PROGRAM_NAME ) - имя файла программы.

$[ - номер первого элемента массива или символа строки. Значение по умолчанию - 0.

$] ($PERL_VERSION ) - строка - сообщение версии Perl. Печатается по команде perl -v В числовом контексте это номер версии плюс номер модификации / 1000.

$^T ($BASETIME ) - Время в секундах с начала 1970 года старта текущей программы.

$^X ($EXECUTABLE_NAME ) - команда запуска Perl. Аналогично argv в С.

$ARGV - имя текущего файла, читаемого оператором "<>".

@ARGV - массив параметров строки запуска программы. Внимание! @#ARGV - меньше количества параметров на 1, т.к. $ARGV это первый параметр (не имя программы).

@INC - список директорий диска, которые просматривает Perl для выполнения команд do, require или use.

%INC - этот хеш содержит имена директорий для имен использованных файлов командами do или require. Ключ - имя файла, а значение - директория.

$ENV{выражение} - хеш %ENV содержит значения переменных окружения. Изменение этих значений вызывает изменение окружения для процессов потомков.

$SIG{выражение} - хеш %SIG содержит имена подпрограмм для таких системных сигналов как INT, QUIT, PIPE, ... Значение "DEFAULT" - для системной обработки. "IGNORE" - игнорировать данный сигнал.

Регулярные выражения (шаблоны).

Регулярные выражения в Perl чаще всего используются в операторах поиска и замены таких как s/ , m/ , операторах связки =~ или != и т.д. Все эти операторы имеют схожие опции:

Эти опции, обозначаемые как "/x", можно использовать внутри шаблонов, используя конструкцию (?...). В шаблонах используются следующие метасимволы (символы, обозначающие группы других символов):

Метасимволы имеют модификаторы (пишутся после метасимвола):

Во все других случаях фигурные скобки считаются обычными (регулярными) символами. Таким образом "*" эквивалентна {0,} , "+" - {1,} и "?" - {0,1}. n и m не могут быть больше 65536.

По умолчанию действие метасимволов "жадно" (greedy). Совпадение распространяется столько раз, сколько возможно, не учитывая результат действия следующих метасимволов. Если вы хотите "уменьшить их аппетит", то используйте символ "?". Это не изменяет значение метасимволов, просто уменьшает распространение. Таким образом:

Шаблоны работают так же, как и двойные кавычки, поэтому в них можно использовать `\` - символы (бэкслэш-символы):

Дополнительно в Perl добавлены следующие метасимволы:

Обратите внимание, что все это "один" символ. Для обозначения последовательности применяйте модификаторы. Так:

Существуют мнимые метасимволы, обозначающие места смены значения:

Граница слова (\b) - это мнимая точка между символами \w и \W. Внутри класса символов "\b" обозначает символ backspace (стирания). Метасимволы \A и \Z - аналогичны "^" и "$", но если начало строки "^" и конец строки "$" действуют для каждой строки в многострочной строке, то \A и \Z обозначают начало и конец всей многострочной строки.

scalaris - ступенчатый) - величина (возможно переменная, то есть функция), каждое значение которой может быть выражено одним числом (чаще всего подразумевается вещественное число).

При смене системы координат скаляр остаётся неизменным (инвариантным), в отличие, например, от компонентов вектора, которые могут быть разными у одного и того же вектора в разных системах координат.

  • В абстрактной алгебре - элемент основного поля (например, поля вещественных или комплексных чисел).
  • В тензорном исчислении - тензор валентности (0,0), при замене базиса системы координат не меняется.
  • В современной физике, подразумевающей пространственно-временной подход, под скаляром обычно имеется в виду пространственно-временной скаляр, лоренц-инвариантная величина, не меняющаяся при переходе от одной инерциальной системы отсчёта к другой (а в общей теории относительности и других метрических теориях гравитации - скаляр остается неизменным также и при переходе к неинерциальным системам отсчёта). В этом отличие от ньютоновской физики, где под скаляром понимается обычный скаляр обычного трёхмерного пространства (так, энергия в ньютоновском смысле - скаляр, а в пространственно-временном - лишь компонента четырёхмерного вектора).

Примеры

Примерами скаляров являются длина , площадь , время , масса , плотность , температура и т. п.

Важно заметить, что понятие скаляра довольно сильно связано с контекстом. Так, в общепринятом контексте современной физики часть приведённых величин скалярными не являются.

Ошибочные примеры

Типичным примером величины, выражающейся одним числом, но не являющейся скаляром, является одна из координат вектора в каком-то произвольно выбранном базисе (при почти любом изменении базиса координата не останется неизменной, она, таким образом, не инвариант) .

То же касается координаты тензора любой другой валентности (кроме нулевой).

Ещё одним примером величины, не являющейся, строго говоря, скаляром, является псевдоскаляр (хотя на практике иногда, исходя из соображений удобства или краткости, разграничения между скалярами и псевдоскалярами могут и не проводить, если это не существенно для изложения).

См. также

Примечания

Ссылки


Wikimedia Foundation . 2010 .

Смотреть что такое "Скаляр" в других словарях:

    скаляр - а, м. scalaire <лат. scalaris ступенчатый < scalae лестница. Величина, в противоположность вектору, определяемая числовым значением без указания направления. БАС 1. Скалярный ая, ое. Скалярные величины. Уш. 1940: Лекс. СИС 1937: скаля/ры;… … Исторический словарь галлицизмов русского языка

    скаляр - — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва, 1999 г.] скаляр Величина, каждое значение которой может быть выражено одним (как правило, действительным) числом; по… … Справочник технического переводчика

    - (от латинского scalaris ступенчатый) (скалярная величина), величина, каждое значение которой (в отличие от вектора) может быть выражено одним (действительным) числом, вследствие чего совокупность значений скаляра можно изобразить на линейной… … Современная энциклопедия

    - (от лат. scalaris ступенчатый) (скалярная величина) величина, каждое значение которой (в отличие от вектора) может быть выражено одним (действительным) числом, вследствие чего совокупность значений скаляра можно изобразить на линейной шкале… … Большой Энциклопедический словарь

    СКАЛЯР, математическое число, имеющее только величину, в отличие от ВЕКТОРА, который имеет еще и направление. Масса и энергия являются скалярными величинами, тогда как вес и сила представлены векторными величинами … Научно-технический энциклопедический словарь

    Величина, значение которой характеризуется действительным числом (без учета направления). Напр., температура, концентрация и т.п. Геологический словарь: в 2 х томах. М.: Недра. Под редакцией К. Н. Паффенгольца и др.. 1978 … Геологическая энциклопедия

    Скаляр - величина, каждое значение которой может быть выражено одним (как правило, действительным) числом; по отношению к вектору, который можно рассматривать как многомерную величину, С. величина одномерная. Скалярная (числовая) функция одной… … Экономико-математический словарь

    СКАЛЯР - величина, каждое значение которой может быть выражено одним действительным числом без учёта направления млн. другой какой либо оценки в выбранной системе единиц, напр. длина, площадь, объём, плотность, работа, температура и др … Большая политехническая энциклопедия

    - (лат. scalaris ступенчатый) мат. величина, характеризуемая только числовым значением (напр., длина, объем, масса, плотность); ср. вектор. Новый словарь иностранных слов. by EdwART, 2009. скаляр скаляра, м. [от латин. scalaris – ступенчатый]… … Словарь иностранных слов русского языка

    А; м. [лат. scalaris ступенчатый] Матем. Величина, имеющая только числовое значение. ◁ Скалярный, ая, ое. С ые величины. * * * скаляр (от лат. scalaris ступенчатый) (скалярная величина), величина, каждое значение которой (в отличие от вектора)… … Энциклопедический словарь