2014 dxdy logo

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

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




На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 17  След.
 
 Re: 0,(9)=1
Сообщение28.07.2009, 10:38 
Виктор Викторов в сообщении #230936 писал(а):
Нельзя! Память компьютера конечна.

Можно! Разумеется, нужно использовать конечные представления, которые есть у многих интересных иррациональных чисел.

Представление в виде двоичной дроби вовсе не единственно возможное для чисел на компьютере. Поищите по ключевым словам "exact real arithmetic" и увидите несколько реализаций на различных языках.

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 19:00 
Аватара пользователя
Alexey Romanov в сообщении #231596 писал(а):
Виктор Викторов в сообщении #230936 писал(а):
Нельзя! Память компьютера конечна.

Можно! Разумеется, нужно использовать конечные представления, которые есть у многих интересных иррациональных чисел.

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

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 19:39 
наверное, имелось ввиду типа того, что иррациональное число$ \sqrt{2}$ можно конечно представить как некое число, квадрат которого равен 2. Представление то верное, только в компьютер это не занесешь ни под каким предлогом.

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 20:49 
Pripyat в сообщении #231663 писал(а):
наверное, имелось ввиду типа того, что иррациональное число$ \sqrt{2}$ можно конечно представить как некое число, квадрат которого равен 2. Представление то верное, только в компьютер это не занесешь ни под каким предлогом.
Ну почему же?
Вот, пожалуйста: log2(sqrt(2))
Если бы компютер не знал, что ${\sqrt 2}^2 = 2$, то не сказал бы, что результат $\frac 1 2$ - точный.
Ср. например, с log2(1.4142135623730950488016887242096980785696718753769480731766)

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 22:23 
Виктор Викторов в сообщении #231659 писал(а):
Поделитесь, пожалуйста, знаниями о конечных представлениях иррациональных чисел.

1. На компьютере можно представить целые числа произвольной точности.

2. Рациональные числа можно представить как пары целых чисел -- числитель и знаменатель.

3. Любое вычислимое действительное число $x$ (включая $\sqrt 2$, $\pi$, $e$ и т.д.) можно представить как (вычислимую) функцию $a$ из натуральных чисел в целые, такую, что $\forall n : \mathbb N ~ |2^n \cdot x - a(n)| < 1$. Поскольку функция вычислимая, её можно задать конечным образом.

Над этим представлением можно определить все арифметические и тригонометрические операции, возведение в степень, логарифмы, извлечение корней и т.д.

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 22:57 
Аватара пользователя
Alexey Romanov в сообщении #231687 писал(а):
1. На компьютере можно представить целые числа произвольной точности.

Уважаемый Alexey Romanov!
У меня не достаточно знаний по данному вопросу. Мне представляется, что память компьютера ограничена и не может быть бесконечной (машина Тьюринга не в счет). Могли бы Вы объяснить или как эту память сделать бесконечной. Или как выразить при конечной памяти компьютера целое число, требующее большее памяти для его двоичного представления, чем этот компьютер имеет.

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 23:44 
Виктор Викторов в сообщении #231692 писал(а):
Могли бы Вы объяснить или как эту память сделать бесконечной. Или как выразить при конечной памяти компьютера целое число, требующее большее памяти для его двоичного представления, чем этот компьютер имеет.

Разумеется, нельзя. Это ограничение никак не мешает представить встречающиеся на практике иррациональные числа, которые отлично умещаются в память компьютера.

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 23:55 
Аватара пользователя
Alexey Romanov в сообщении #231696 писал(а):
Виктор Викторов в сообщении #231692 писал(а):
Могли бы Вы объяснить или как эту память сделать бесконечной. Или как выразить при конечной памяти компьютера целое число, требующее большее памяти для его двоичного представления, чем этот компьютер имеет.

Разумеется, нельзя. Это ограничение никак не мешает представить встречающиеся на практике иррациональные числа, которые отлично умещаются в память компьютера.

Как?

 
 
 
 Re: 0,(9)=1
Сообщение28.07.2009, 23:59 
Виктор Викторов в сообщении #231698 писал(а):
Alexey Romanov в сообщении #231696 писал(а):
Разумеется, нельзя. Это ограничение никак не мешает представить встречающиеся на практике иррациональные числа, которые отлично умещаются в память компьютера.

Как?
Например, в виде семи символов sqrt(2) (можно и короче).

 
 
 
 Re: 0,(9)=1
Сообщение29.07.2009, 00:11 
Аватара пользователя
venco в сообщении #231699 писал(а):
Виктор Викторов в сообщении #231698 писал(а):
Alexey Romanov в сообщении #231696 писал(а):
Разумеется, нельзя. Это ограничение никак не мешает представить встречающиеся на практике иррациональные числа, которые отлично умещаются в память компьютера.

Как?
Например, в виде семи символов sqrt(2) (можно и короче).

А оперировать с таким числом как? А как выразить неалгебраическое число?

 
 
 
 Re: 0,(9)=1
Сообщение29.07.2009, 00:30 
Виктор Викторов в сообщении #231698 писал(а):
Как?

Например,
Alexey Romanov в сообщении #231687 писал(а):
3. Любое вычислимое действительное число $x$ (включая $\sqrt 2$, $\pi$, $e$ и т.д.) можно представить как (вычислимую) функцию $a$ из натуральных чисел в целые, такую, что $\forall n : \mathbb N ~ |2^n \cdot x - a(n)| < 1$. Поскольку функция вычислимая, её можно задать конечным образом.

Если Вы не понимаете, я говорю не о теории, идеальном случае и т.д., а о самой что ни на есть грубой практике, которая многократно реализована: RealLib, xrc, CORE, Constructive Reals Calculator, Computable Real Numbers, A Calculator for Exact Real Number Computation, iRRAM и т.д. По большинству из этих ссылок объяснено, каким именно представлением пользуется каждая система.

Плюс системы для символических вычислений вроде уже приведённой Mathematica, которые действуют по принципу
Pripyat в сообщении #231663 писал(а):
иррациональное число$ \sqrt{2}$ можно конечно представить как некое число, квадрат которого равен 2
и не знают, что
Pripyat в сообщении #231663 писал(а):
в компьютер это не занесешь ни под каким предлогом
.

-- Ср июл 29, 2009 00:36:21 --

Виктор Викторов в сообщении #231702 писал(а):
А оперировать с таким числом как?

С помощью алгебраических законов. Алгоритмы там довольно сложные, но они существуют.
Виктор Викторов в сообщении #231702 писал(а):
А как выразить неалгебраическое число?

Смотря какое. Например, $e$ и $\pi$ в таких системах обычно принимаются как базовые константы.

 
 
 
 Re: 0,(9)=1
Сообщение29.07.2009, 00:45 
Виктор Викторов в сообщении #231702 писал(а):
А оперировать с таким числом как?
По запрограммированным правилам.
Виктор Викторов в сообщении #231702 писал(а):
А как выразить неалгебраическое число?
Никто не обещал, что так можно выразить любое число, но некоторые можно: link $\pi$, link $e$
Для сравнения:
link $\sin(\pi)$
link $\sin(3.1415926535897932384626433832795028841971693993751058209749)$

(добавил более заметные ссылки)

 
 
 
 Re: 0,(9)=1
Сообщение29.07.2009, 01:37 
Аватара пользователя
Мы говорим о разных вещах. Вы говорите о выражениях с радикалами. Да, конечно, многие радикалы можно записать конечной (причём небольшой) последовательностью знаков и оперировать с ними как с радикалами. Т. е. мы опять работаем с конечными последовательностями. Надеюсь, Вы заметили, что я не использовал словосочетание «иррациональное число». Компьютер не имеет понятия о том, что он оперирует с иррациональным числом. А радикал может быть и рациональным числом. Мы забыли, откуда всё пошло:

Виктор Викторов в сообщении #230936 писал(а):
epros в сообщении #230891 писал(а):
Это формула для вычисления с любой точностью. Например:
$\sum\limits_{k=0}^{\infty} \frac{1}{k!}$ - формула, определяющая число $e$.
Вычислительную технику этому в принципе можно научить.

Нельзя! Память компьютера конечна.
Ещё раз: Это не вопрос математики – это вопрос техники.

Вы думаете, что компьютер может вычислить $e$ с любой точностью? Дело ведь не в том, чтобы сложить два радикала и записать полученное выражение двумя радикалами. Дело в том, что вычислительную технику в принципе нельзя научить вычислять с любой точностью. И также нельзя научить распознавать иррациональное число.

 
 
 
 Re: 0,(9)=1
Сообщение29.07.2009, 06:10 
Виктор Викторов в сообщении #231708 писал(а):
Мы говорим о разных вещах. Вы говорите о выражениях с радикалами. Да, конечно, многие радикалы можно записать конечной (причём небольшой) последовательностью знаков и оперировать с ними как с радикалами. Т. е. мы опять работаем с конечными последовательностями. Надеюсь, Вы заметили, что я не использовал словосочетание «иррациональное число». Компьютер не имеет понятия о том, что он оперирует с иррациональным числом. А радикал может быть и рациональным числом. Мы забыли, откуда всё пошло:

Виктор Викторов в сообщении #230936 писал(а):
epros в сообщении #230891 писал(а):
Это формула для вычисления с любой точностью. Например:
$\sum\limits_{k=0}^{\infty} \frac{1}{k!}$ - формула, определяющая число $e$.
Вычислительную технику этому в принципе можно научить.

Нельзя! Память компьютера конечна.
Ещё раз: Это не вопрос математики – это вопрос техники.

Вы думаете, что компьютер может вычислить $e$ с любой точностью? Дело ведь не в том, чтобы сложить два радикала и записать полученное выражение двумя радикалами. Дело в том, что вычислительную технику в принципе нельзя научить вычислять с любой точностью. И также нельзя научить распознавать иррациональное число.
Мы говорим не только о радикалах. Как вы смогли запомнить, как вычислить число $e$, так и компьютер можно этому научить. В том числе и складывать бесконечные ряды. Причём компьютер не пытается сложить весь ряд, он этого сделать если и сможет, то только приблизительно. Вместо этого он распознаёт некоторые ряды и может определить, что link $\sum{\frac 1{k!}}=e$, где $e$ - это такое особое число.
Может быть вы не заметили, что в моих сообщениях есть много ссылок на сайт, где как раз и находится подобная программа.
Она знает много эквивалентых преобразований, и может вычислить точно например: link $\sin(\frac{\pi}{12})$.

 
 
 
 Re: 0,(9)=1
Сообщение29.07.2009, 16:29 
Аватара пользователя
venco в сообщении #231711 писал(а):
Мы говорим не только о радикалах. Как вы смогли запомнить, как вычислить число $e$, так и компьютер можно этому научить. В том числе и складывать бесконечные ряды. Причём компьютер не пытается сложить весь ряд, он этого сделать если и сможет, то только приблизительно. Вместо этого он распознаёт некоторые ряды и может определить, что link $\sum{\frac 1{k!}}=e$, где $e$ - это такое особое число.
Может быть вы не заметили, что в моих сообщениях есть много ссылок на сайт, где как раз и находится подобная программа.
Она знает много эквивалентых преобразований, и может вычислить точно например: link $\sin(\frac{\pi}{12})$.


Уважаемые venco и Alexey Romanov!

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

 
 
 [ Сообщений: 255 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 17  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group