Что значит тривиальный

Что такое тривиальная функция?

Может быть, этот небольшой пример поможет вам понять нетривиальную функцию в контексте [basic.def.odr]/3

struct C { 
int l;
constexpr C(int _l) : l(_l) { }
constexpr C(const C&c) : q(c.l* 2) { }
};

int main(void) {
constexpr C c(42);
constexpr int m= c.l;
struct K{
int foo() { return c.l; }
} l;
return l.foo();
}

Если вы посмотрите на следующую строку в стандартном

Применение преобразования lvalue-to-rvalue (4.1) в x дает константное выражение (5.19), которое не вызывает никаких нетривиальных функций

Здесь c удовлетворяет требованиям к появлению в постоянном выражении,
но применение преобразования lvalue-rvalue к вызову a
нетривиальная функция.

Почему он вызывает нетривиальную функцию?

Когда преобразование lvalue-rvalue происходит в неоцененном операнде или его подвыражении, значение, содержащееся в ссылочном объекте, не получает доступа. В противном случае, если glvalue имеет тип класса, копия преобразования — инициализирует временный тип T из glvalue, а результат преобразования — это значение для временного

Таким образом, prvalue создается с использованием конструктора копирования класса C, и поскольку конструктор Copy объявлен пользователем, он не является тривиальным и поэтому c не используется ODR здесь

Оператор присваивания копирования/перемещения для класса X является тривиальным, если он не предоставляется пользователям, его список параметров-параметров эквивалентен списку параметров-типа неявного объявления

Надеюсь, этот пример прояснит ваше сомнение.

Standard layout

Стандартная структура (standard layout) — это структура (struct), которая не содержит специальных возможностей C :

Стандартная структура:

Стандартная структура имеет предсказуемое устройство памяти, так как не содержит данных, которые компилятор мог бы структурировать по своему усмотрению (например в случае наличия public/private/protected) — как написано так и храниться в памяти.

// standard layout
struct Test1
{
    int a;
};
 
// standard layout
struct Test2
{
    void Foo(){}
};
 
// standard layout
struct Test3
{
    int a2;
    void Foo3(){}
};
 
/* non standard layout, 
  первый нестатичный член такой же как и базовый класс
*/
struct Test4 : Test1
{
    Test1 a2;
};
 
/* standard layout, 
  теперь нестатичный член a3 типа Test2 
  (как и базовый тип этой структуры) не является первым
*/
struct Test5 : Test2
{
    Test3 a2;
    Test2 a3;
};
 
 
// standard layout
struct Test12 : Test1, Test2
{};
 
/* non standard layout, 
  третий базовый класс недопустим
*/
struct Test123 : Test1, Test2, Test3
{};
 
/*non standard layout, 
  2 места обьявления нестатических члена в Test1 и в Test12_1
*/
struct Test12_1 : Test1, Test2
{
    int b;
};
 
// standard layout
struct Test12_2 : Test1, Test2
{
    void Foo2(){}
};

POD (Plain Old Data — обычные старые данные) — тип данных являющий скаляром или одновременно тривиальным классом, стандартной структурой и агрегатным типом. Совместим с C, с возможностью копирования объекта функциями типа memcpy.

POD обладает сразу двумя свойствами:

struct POD
{
  int a;
  int b;
};

Trivial class

Тривиальные классы (trivial class) — это классы или структуры, в которых специальные функции-члены предоставляются компилятором (явно отсутствует реализация) либо явно заданы как default. В таком классе нет управляющего кода, так как специальные функции-члены объявлены (явно или неявно) тривиальными по умолчанию.

Кроме того есть дополнительные требования, тривиальный класс не должен иметь:

Под словом «тривиальный» понимается наличие:

Тривиальные классы могут быть безопасно скопированы функциями типа memcpy в полной точности.

Тривиальность функций членов (отсутствие управляющего кода) подразумевает:

В математических рассуждениях

Тривиальный может также относиться к любому простому случаю доказательства, которое для полноты нельзя игнорировать. Например, доказательства с помощью математической индукции состоят из двух частей: «базовый случай», который показывает, что теорема верна для определенного начального значения (например, n = 0 или n = 1), и индуктивный шаг, который показывает, что если теорема верно для определенного значения n , то это также верно для значения n 1.

Как быть Леди:  «Этого не было!»: что такое газлайтинг - Горящая изба

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

В математическом сообществе распространена шутка, что «тривиальная» синонимична слову «доказано», то есть любую теорему можно считать «тривиальной», если известно, что она истинна.

Другая шутка касается двух математиков, которые обсуждают теорему: первый математик говорит, что теорема «тривиальна». В ответ на просьбу другого дать объяснения он затем переходит к двадцатиминутному изложению. В конце объяснения второй математик соглашается, что теорема тривиальна.

Эти анекдоты указывают на субъективность суждений о тривиальности. Шутка также применима, когда первый математик говорит, что теорема тривиальна, но не может доказать ее сам. Часто в шутку теорему называют «интуитивно очевидной». Кто-то, имеющий опыт в области вычислений , например, счел бы следующее утверждение тривиальным:

∫ 0 1 Икс 2 d Икс знак равно 1 3 { displaystyle int _ {0} ^ {1} x ^ {2} , dx = { frac {1} {3}}}

Однако для человека, не знакомого с интегральным исчислением, это совсем не очевидно.

Тривиальность также зависит от контекста. Доказательство в функциональном анализе , вероятно, при наличии некоторого числа тривиально предполагает существование большего числа. Однако при доказательстве основных результатов о натуральных числах в элементарной теории чисел доказательство вполне может опираться на замечание о том, что у любого натурального числа есть преемник — утверждение, которое само должно быть доказано или приниматься в качестве аксиомы (подробнее см. Аксиомы Пеано ).

Примеры

  • В теории чисел часто бывает важно найти факторы целого числа N . Любое число N имеет четыре очевидных факторов: ± 1 и ± N . Это так называемые «тривиальные факторы». Любой другой фактор, если он существует, был бы назван «нетривиальным».
  • Однородное матричное уравнение , где — фиксированная матрица, — неизвестный вектор, а — нулевой вектор, имеет очевидное решение . Это называется «тривиальным решением». Если бы у него были другие решения , то их можно было бы назвать «нетривиальными». А Икс знак равно 0 { Displaystyle А mathbf {x} = mathbf {0}} А { displaystyle A} Икс { displaystyle mathbf {x}} 0 { displaystyle mathbf {0}} Икс знак равно 0 { Displaystyle mathbf {x} = mathbf {0}} Икс ≠ 0 { Displaystyle mathbf {х} neq mathbf {0}}
  • В теории групп существует очень простая группа, в которой всего один элемент; ее часто называют «тривиальной группой». Все остальные группы, более сложные, называются «нетривиальными».
  • В теории графов тривиальный граф — это граф, у которого есть только одна вершина и нет ребра.
  • В теории баз данных есть письменная концепция, называемая функциональной зависимостью . Зависимость является истинным , если Y представляет собой подмножество из X , так что этот тип зависимости называется «тривиальной». Все остальные зависимости, менее очевидные, называются «нетривиальными». Икс → Y { Displaystyle от X до Y} Икс → Y { Displaystyle от X до Y}
  • Можно показать, что дзета-функция Римана имеет нули при отрицательных четных числах −2, −4, … Хотя доказательство сравнительно простое, этот результат все же обычно нельзя назвать тривиальным; однако это так, поскольку другие его нули, как правило, неизвестны, имеют важные приложения и связаны с открытыми вопросами (такими как гипотеза Римана ). Соответственно, отрицательные четные числа называются тривиальными нулями функции, а любые другие нули считаются нетривиальными.
Как быть Леди:  Интересные факты об Эльберте Эйнштейне. Деятеле науки прошлого. | Пикабу

Примеры тривиальных функциональных зависимостей

Этот вид зависимости называется тривиальным , потому что он может быть выведен из здравого смысла. Если одна «сторона» является подмножеством другой, она считается тривиальной. Левая сторона считается определителем , а правая – зависимой .

  • {A, B} -> B – это тривиальная функциональная зависимость, потому что B является подмножеством A, B . Поскольку { A, B} -> B включает в себя B , можно определить значение B . Это тривиальная функциональная зависимость, потому что определение B удовлетворяется его отношением к A, B. Поскольку значения B определяются значениями A , любая другая последовательность, которая разделяет значения A , будет иметь те же значения, что и B . Другими словами, все B включены в A , поэтому это подмножество A .
  • {Employee_ID, Employee_Name} -> Employee_ID также является тривиальной функциональной зависимостью, поскольку Employee_ID является подмножеством {Employee_ID, Employee_Name} .
  • То же самое верно для A -> A или Employee_ID -> Employee_ID, и Employee_Name -> Employee_Name . Все это тривиальные функциональные зависимости.
  • Если функциональная зависимость X–> Y и Y является подмножеством X, это тривиальная функциональная зависимость. Если Y не является подмножеством X, это не тривиальная функциональная зависимость.

Синонимы слова «тривиальный»

Синонимы слова «тривиальный» — банальный, лишенный свежести и новизны, обычный, непримечательный, неоригинальный, избитый, простецкий, скучный, примитивный, убогий.

В начале XX века слово носило более негативный оттенок. Поэтому в словарях 1900-х годов приводятся другие синонимы: пошлый, площадный, простонародный, грубый, дурного вкуса.

Таблица тривиальных названий химических веществ

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

Вот один из подобных списков:

NaOH — Едкий натр, каустик, каустическая содаKOH — Едкий калийNaCl — Каменная (поваренная соль)Na₂SO₄ * 10 H₂O — Глауберова соль (мирабилит)NaNO₃ — чилийская селитра, натриевая селитраNaHCO₃ — питьевая (пищевая) содаNa₂CO₃ * 10H₂O — кристаллическая содаNa₂CO₃ — кальцинированная содаK₂CO₃ — поташK₃AlF₆ — криолитNa₃AlF₆ — криолитKNO₃ — калийная селитраKClO₃ — бертолетова сольK₂Cr₂O₇ — хромпикСaO — негашеная известьCa(OH)₂ — гашеная известь, белильная известьСaCO₃ — мел, мрамор, известняк, кальцитCaSO₄*2 H₂O — ГипсСa₃(PO₄)₂ — фосфоритCa(H₂PO₄)₂ — двойной суперфосфатCa(H₂PO₄)

₂ 2 CaSO₄ — суперфосфатCaCO₃* MgCO₃ — доломитСa(NO₃)₂ — кальциевая селитраCa(ClO)₂ CaCl₂ — хлорная известьBaSO₄ — БаритAl₂O₃ — корунд, кремнезем, бокситАмальгама – жидкие сплавы ртути с металламиFe₂O₃*3H₂O — бурый железнякFe₂O₃ — красный железнякFe₃O₄ — железная окалинаFeS₂ — пирит, железный колчеданK₃[Fe(CN)₆ -красная кровяная сольK₄*Fe(CN)₆ — желтая кровяная сольFe₃*Fe(CN)₆ ₂ — турнбулева синьFe₄[Fe(CN)₆ ₃ — берлинская лазурьMnO₂ — пиролюзитK₂Cr₂O₇ H₂SO₄ — хромовая смесьCuSO₄*5H₂O — медный купорос(CuOH)

₂*CO₃ — малахитCuS — медный блескZnS — цинковая обманкаZnCO₃ — цинковый шпатZnSO₄ * 7H₂O — цинковый купоросCl₂ H₂O→HClO HCl — хлорная вода (раствор хлора в воде)HgCl₂ — сулемаNH₄Cl (р) — нашатырьСa(ClO)

₂ CaCl₂ — белильная известьСO H₂ — водяной газ, синтез-газН₂ О₂ — гремучий газHF — плавиковая кислотаK[ I (I)₂] — йодная водаN₂O — веселящий газNO₂ — лисий хвост, бурый газNH₄NO₃ — аммиачная селитра(NH₄)

₂CO — мочевина, карбамидNH₄OH — аммиачная вода1 HNO₃ 3 HCl — царская водкаSO₂ — сернистый ангидридSO₃ — серный ангидридH₂S₂O₇ — олеумCOCl₂ — фосгенCO — угарный газCO₂ — углекислый газCO₂ (тв) – сухой ледSiC — карборундSiH₄ — силанSiO₂ — кремнезем, песок, ангидрид кремниевой кислотыNa₂SiO₃ — жидкое стеклоК₂SiO₃ — жидкое стеклоNa₂O*CaO* 6SiO₂ — стекло (оконное)

Как быть Леди:  Откуда берется женский абьюз?

Тривиальные доказательства

В некоторых текстах, тривиальное доказательство ссылается на заявление с участием материала импликации P → Q, где следствие , Q , всегда верно. Здесь Доказательство непосредственно вытекает в силе определения материальной импликации, так как импликация , независимо от значения истинности в предшествующем P .

Родственное понятие — пустая истина , где антецедент P в материальной импликации P → Q всегда ложен. Здесь импликация всегда истинна, независимо от истинностного значения последовательного Q — опять же в силу определения материальной импликации.

Тривиальные и нетривиальные решения

В математике термин «тривиальный» часто используется для обозначения объектов (например, групп, топологических пространств) с очень простой структурой. К ним относятся, среди прочего

« Тривиальный » также можно использовать для описания решений уравнения, которые имеют очень простую структуру, но для полноты его нельзя опускать. Эти решения называются тривиальными решениями . Например, рассмотрим дифференциальное уравнение

у ′ знак равно у { displaystyle y ‘= y}

где — функция , производная которой равна . Тривиальное решение
у знак равно у ( Икс ) { Displaystyle у = у (х)} у ′ { displaystyle y ‘}

у ( Икс ) знак равно 0 { Displaystyle у (х) = 0} , нулевая функция

а нетривиальное решение

у ( Икс ) знак равно е Икс { Displaystyle у (х) = е ^ {х}} , экспоненциальная функция .

Дифференциальное уравнение с граничными условиями важно в математике и физике, поскольку его можно использовать для описания частицы в ящике в квантовой механике или стоячей волны на струне. Он всегда включает решение , которое считается очевидным и поэтому называется «тривиальным» решением. В некоторых случаях могут быть другие решения ( синусоиды ), которые называют «нетривиальными» решениями.
ж ″ ( Икс ) знак равно — λ ж ( Икс ) { displaystyle f » (x) = — lambda f (x)} ж ( 0 ) знак равно ж ( L ) знак равно 0 { Displaystyle f (0) = f (L) = 0} ж ( Икс ) знак равно 0 { displaystyle f (x) = 0}
Точно так же математики часто описывают Великую теорему Ферма как утверждение, что не существует нетривиальных целочисленных решений уравнения , где n больше 2. Ясно, что есть некоторые решения уравнения. Например, является решением для любого n , но такие решения очевидны и доступны без особых усилий, а значит, «тривиальны».
а п б п знак равно c п { Displaystyle а ^ {п} Ь ^ {п} = с ^ {п}} а знак равно б знак равно c знак равно 0 { Displaystyle а = Ь = с = 0}

Тривиальные названия веществ

В химии тривиальные названия — это общеизвестные, но ненаучные имена распространенных соединений. Названия эти проще и удобнее, в отличие от громоздких номенклатурных названий, позволяющих сразу понять формулу вещества.

Например, нашатырь — это хлорид аммония NH₄Cl, а питьевая сода — гидрокарбонат натрия NaHCO₃. Углекислый газ — это оксид углерода(IV) СО₂. Веселящий газ — оксид азорта N₂O, а синильная кислота — циановодород HCN.

На практике даже химики пользуются тривиальными названиями. Ведь куда легче сказать «сахароза» вместо «альфа-D-глюкопиранозил-бета-D-фруктофуранозидом».

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

Этимология. откуда взялось слово «тривиальный»

Слово «тривиальный» происходит от латинского trivialis — обыкновенный. На латыни trivium — пересечение трех дорог (tri — три, via — дорога, путь). Этим словом — тривий — назывались три начальные дисциплины в средневековых университетах. Поэтому слово trivialis в образованной среде стало синонимом всего простого и очевидного. В русский язык слово попало через немецкий или французский.

Оцените статью
Ты Леди!
Добавить комментарий