2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Новая система счисления?
Сообщение10.08.2023, 11:51 


25/07/23
12
В статье предложена новая система счисления, которая называется «Гибкая система счисления с простыми основаниями». По мнению автора статьи (Кулик), она обладает следующими свойствами:
1) универсальностью - позволяет точно выразить все (за исключением нуля) конечные рациональные числа, а также некоторые классы иррациональных чисел;
2) при ее использовании уменьшается вычислительная сложность алгоритма умножения чисел;
3) в ней существенно уменьшается объем памяти для записи и хранения многих больших чисел.
Свойство «гибкости» в ней обеспечивается за счет ведения в запись чисел «схемы отношения», которая может легко изменяться за счет добавления и удаления «фиктивных атрибутов» при выполнении операций и проверок соотношений с числами. В качестве атрибутов используются обозначения ряда простых чисел
$$\begin{matrix} P_1 & P_2 & P_3 & P_4 & P_5 &  \cdots & P_{15} & \cdots & P_{84} & \cdots \\ 2 & 3 & 5 & 7 & 11 & \cdots & 47 & \cdots & 433 & \cdots \end{matrix}$$
Тогда число $N_i = 484$ в этой системе можно выразить как запись $N_i[P_1P_5](2, 2)$, в которой $[P_1P_5]$ - схема отношения, а числовой кортеж $(2, 2)$ содержит показатели для соответствующих простых чисел.
«Фиктивными атрибутами» здесь являются атрибуты со значением 0 в числовом кортеже. Их можно добавлять в записи чисел или удалять из них – величина числа при этом не изменится. Например, число 484 можно записать в «расширенной» схеме отношения: $N_i[P_1P_2P_5P_7](2, 0, 2, 0)$.
Таким образом, можно выполнять умножение или деление чисел с разными схемами отношения, приводя их к одинаковым схемам отношения за счет добавления недостающих фиктивных атрибутов.
Числовые кортежи могут содержать положительные или отрицательные целые и дробные (рациональные) числа. Для них можно вычислять точную нижнюю (верхнюю) грань, что соответствует наибольшему общему делителю (наименьшему общему кратному) для целых чисел, поэлементно складывать (что соответствует умножению чисел), вычитать (что соответствует делению чисел) или умножать на рациональную константу (возведение в степень).
По-видимому, в этой системе невозможно сложение и вычитание чисел и их сравнение по величине в общем случае.
Как вы считаете, нова ли эта система?
И представляет ли интерес для математиков?

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:13 


05/09/16
11552
BorisK в сообщении #1604701 писал(а):
Тогда число $N_i = 484$ в этой системе можно выразить как запись $N_i[P_1P_5](2, 2)$, в которой $[P_1P_5]$ - схема отношения, а числовой кортеж $(2, 2)$ содержит показатели для соответствующих простых чисел.

Это называется "разложение на простые множители" или "факторизация". Но вот вопрос, а как предлагается записывать большие простые числа, например такое: 6677493269? Типа так: $[P_{309563836}](1)$?

Конечно, если два числа уже разложены на простые множители, то получить разложение их произведения очень просто.

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:14 
Заслуженный участник
Аватара пользователя


16/07/14
8509
Цюрих
Это называется "разложение на простые множители". Евклид это уже точно знал, так что идея не очень новая. В школе проходят ЕМНИП примерно в 6-7 классе.
Штука местами полезная - и для теоретического анализа, и для практики. В качестве основного способа записи неудобна, как раз потому что не получается хорошо выразить сложение и порядок, и не известно простых алгоритмов перевода между этой системой и обычной десятичной - например как в десятичной системе запишется $N_i[P_{1234567890987654321}](1)$? А как в этой системе запишется вот это число из десятичной?
135066410865995223349603216278805969938881475605667027524485143851526510604
859533833940287150571909441798207282164471551373680419703964191743046496589
274256239341020864383202110372958725762358509643110564073501508187510676594
629205563685529475213500852879416377328533906109750544334999811150056977236
890927563

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:17 


07/06/17
1007
BorisK в сообщении #1604701 писал(а):
3) в ней существенно уменьшается объем памяти для записи и хранения многих больших чисел.

Гм... Я правильно понял, что для записи числа 433 необходим кортеж из 84 чисел? Это точно экономия объёма памяти?

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:26 


05/09/16
11552
Booker48 в сообщении #1604705 писал(а):
Я правильно понял, что для записи числа 433 необходим кортеж из 84 чисел?

$433_{10}=[P_{84}](1)$

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:31 


07/06/17
1007
wrest в сообщении #1604707 писал(а):
Booker48 в сообщении #1604705 писал(а):
Я правильно понял, что для записи числа 433 необходим кортеж из 84 чисел?

$433_{10}=[P_{84}](1)$

Я имею в виду компьютерное представление. Если я правильно понял, арифметические операции будут проводиться над кортежами, а для числа 433 это 83 нуля и 1 единица.

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:32 


25/07/23
12
wrest в сообщении #1604707 писал(а):
Booker48 в сообщении #1604705 писал(а):
Я правильно понял, что для записи числа 433 необходим кортеж из 84 чисел?

$433_{10}=[P_{84}](1)$


$433_{10}=[P_{70}](1)$. Так точнее.
Ошибся! Не получается удалить. $433_{10}=[P_{84}](1)$ - правильно

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:35 
Заслуженный участник
Аватара пользователя


16/07/14
8509
Цюрих
Booker48 в сообщении #1604708 писал(а):
Я имею в виду компьютерное представление
Вполне можно эффективно хранить разреженные кортежи.
Естественно что для большинства чисел по сравнению с двоичной системой много не выиграешь. Но хранение числа в виде разложения на простые выигрывает много для небольшого числа чисел (в которые входят большие степени простых), и немного проигрывает для остальных.

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:35 


05/09/16
11552
BorisK в сообщении #1604701 писал(а):
1) универсальностью - позволяет точно выразить все (за исключением нуля) конечные рациональные числа,

Это кстати реализуется и в обычной позиционной системе, путём записи кортежа "числитель, знаменатель" (предварительно сокращенные на общие мнозители). Математические пакеты с поддержкой произвольной точности именно так и делают.

-- 10.08.2023, 12:39 --

mihaild в сообщении #1604711 писал(а):
Но хранение числа в виде разложения на простые выигрывает много для небольшого числа чисел (в которые входят большие степени простых),

Я тут подумал, а показатели тоже в виде разложения хранить (и записывать)?

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 12:53 


07/06/17
1007
mihaild в сообщении #1604711 писал(а):
Вполне можно эффективно хранить разреженные кортежи.

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

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 13:07 


25/07/23
12
Booker48 в сообщении #1604708 писал(а):
wrest в сообщении #1604707 писал(а):
Booker48 в сообщении #1604705 писал(а):
Я правильно понял, что для записи числа 433 необходим кортеж из 84 чисел?

$433_{10}=[P_{84}](1)$

Я имею в виду компьютерное представление. Если я правильно понял, арифметические операции будут проводиться над кортежами, а для числа 433 это 83 нуля и 1 единица.

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

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 13:09 


05/09/16
11552
BorisK
Вот вам разлагатор чисел в десятичной системе в FPR, с записью в квадратные скобки и прочим, в формат $\TeX$
Написан на языке pari/gp

Код:
fpr(x)=my(f=factor(x),n=#f[,1]);if(isprime(x),n=1);print1("$",x,"_{10}=[");for(i=1,n,print1("P_{",primepi(f[i,1]),"}"));print1("](");print1(f[1,2]);if(n>1,for(i=2,n,print1(",",f[i,2])));print1(")$")

Работает так:
? fpr(433)
$433_{10}=[P_{84}](1)$
? fpr(484)
$484_{10}=[P_{1}P_{5}](2,2)$
? fpr(1234567890)
$1234567890_{10}=[P_{1}P_{2}P_{3}P_{504}P_{529}](1,2,1,1,1)$
?

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 13:19 


25/07/23
12
wrest в сообщении #1604720 писал(а):
BorisK
Вот вам разлагатор чисел в десятичной системе в FRP, с записью в квадратные скобки и прочим, в формат $\TeX$
Написан на языке pari/gp

Код:
frp(x)=my(f=factor(x),n=#f);if(isprime(x),n=1);print1("$",x,"_{10}=[");for(i=1,n,print1("P_{",primepi(f[i,1]),"}"));print1("](");print1(f[1,2]);if(n>1,for(i=2,n,print1(",",f[i,2])));print1(")$")

Работает так:
? frp(433)
$433_{10}=[P_{84}](1)$
? frp(484)
$484_{10}=[P_{1}P_{5}](2,2)$
?

Спасибо огромное. Только, к сожалению, я не программист, и мне трудно представить, как это можно использовать. Может быть, с автором свяжетесь на предмет совместной работы? В его бумажных статьях есть указание деревни, на которую можно написать.

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 13:24 


05/09/16
11552
BorisK в сообщении #1604722 писал(а):
Только, к сожалению, я не программист, и мне трудно представить, как это можно использовать.

Так вы же эту тему затеяли зачем-то... :mrgreen:
BorisK в сообщении #1604722 писал(а):
Может быть, с автором свяжетесь на предмет совместной работы?

Работы над чем? :facepalm: Пользы ж нет...

 Профиль  
                  
 
 Re: Новая система счисления?
Сообщение10.08.2023, 13:30 


25/07/23
12
"Работы над чем? :facepalm: Пользы ж нет..."
Ну, нет, так нет... А использовать в публикациях эту прогу можно? и как на Вас ссылаться?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group