1 Pages (12 items)
Треугольник Серпинского - Messages
#2 Posted: 10/19/2010 1:31:20 PM
Круто!
#3 Posted: 10/19/2010 1:39:34 PM
Народу нравится 
Пришлось покумекать немного. Какая-то проблема с augment():
так работает
а вот так не работает:
По-моему, это называется нереентерабельность
Функции DOS не могли использовать сами себя, т.к. использовали при передаче параметров не стек, а регистры процессора.

Пришлось покумекать немного. Какая-то проблема с augment():
так работает
augment(1;2)
augment(1;augment(1;2))
По-моему, это называется нереентерабельность

Россия навсегда!
Вячеслав Мезенцев
#4 Posted: 10/19/2010 2:41:14 PM
Желающие разобраться в алгоритме могут доделать Ковёр Серпинского. Мне стало лень, слишком долго считает.

Документ: Ковёр Серпинского
Документ: Ковёр Серпинского
Россия навсегда!
Вячеслав Мезенцев
1 users liked this post
Serg 1/25/2014 12:52:00 PM
#5 Posted: 10/19/2010 4:04:47 PM
Замечательный тест программы, спасибо! Разберусь в чём причина медленных расчётов в данном случае - думаю, смогу ускорить. Кстати, в треугольнике Серпинского если в контекстном меню включить численную оптимизацию (ну или использовать eval(..), что, по сути, аналогично) для определения S (S:=Sp(n)), то производительность вырастет почти в два раза.
Это та же беда, что и со стеком: функция отказывается принимать одновременно скаляр с вектором в аргументах...
Ещё раз спасибо!
WroteПришлось покумекать немного. Какая-то проблема с augment()
Это та же беда, что и со стеком: функция отказывается принимать одновременно скаляр с вектором в аргументах...
Ещё раз спасибо!
#6 Posted: 10/19/2010 11:37:05 PM
WroteWroteКакая-то проблема с augment()
Это та же беда, что и со стеком: функция отказывается принимать одновременно скаляр с вектором в аргументах...
Там оба аргумента векторы, точнее даже матрицы. Я привёл не тот пример.
Это работает:
[MATH]T(x)←line(a←augment(x+el(x;1);x+el(x;2));augment(x;a);2;1)[/MATH]
А это нет:
[MATH]T(x)←augment(x;augment(x+el(x;1);x+el(x;2)))[/MATH]
Причём, без определения функции это считается:
augment(v; augment(v+el(v;1);v+el(v;2)))
Россия навсегда!
Вячеслав Мезенцев
#7 Posted: 10/20/2010 6:09:57 AM
Документ: Треугольник Серпинского 3D.sm
П.С. Нужно поколдовать с порядком перемещения пирамид, чтобы не было артефактов.
Россия навсегда!
Вячеслав Мезенцев
1 users liked this post
Serg 1/25/2014 12:52:00 PM
#8 Posted: 10/20/2010 6:51:33 AM
Предлагаю использовать "Ковёр Серпинского" в тесте производительности версий 
з.ы. на моей машине считался 8мин. 33 сек.

з.ы. на моей машине считался 8мин. 33 сек.
Не официальный справочник http://sites.google.com/site/mikkhalichlab/
jabber конференция smath@conference.jabber.ru
#9 Posted: 10/23/2010 2:56:27 PM
Работаю над ускорением вычислений и выяснил, что в данных примерах основное время вычисления программа тратит на получение элементов матрицы S (т.к. матрица очень большая, а в общем случае получить элемент матрицы можно только разобрав её полностью, из-за чего и начинаются тормоза). Из этого, кстати, следует, что если минимизировать количество обращений к элементам матрицы, то и скорость вычислений существенно возрастёт (это справедливо до и после оптимизации в коде), а в цикле G(x) кол-во таких обращений можно уменьшить с шести до двух.
Делюсь промежуточными результатами оптимизации кода (см. время вычислений внизу):

Что бы получить похожие результаты достаточно распаковать SpecialFunctions.1_2_3948.Plugin.Bin.zip плагин и заменить им предыдущую версию из папки plugins в установочной директории SMath Studio. Оптимизированные версии файлов: TreugolnikSerpinskogo.mod2.sm, KoverSerpinskogo.mod2.sm.
P.S.: И это не предел. Не всё удалось вынести в плагин - некоторой оптимизации подверглось и ядро, т.ч. в новой версии SMath Studio процесс будет идти ещё быстрее.
С уважением, Андрей Ивашов.
Делюсь промежуточными результатами оптимизации кода (см. время вычислений внизу):
Что бы получить похожие результаты достаточно распаковать SpecialFunctions.1_2_3948.Plugin.Bin.zip плагин и заменить им предыдущую версию из папки plugins в установочной директории SMath Studio. Оптимизированные версии файлов: TreugolnikSerpinskogo.mod2.sm, KoverSerpinskogo.mod2.sm.
P.S.: И это не предел. Не всё удалось вынести в плагин - некоторой оптимизации подверглось и ядро, т.ч. в новой версии SMath Studio процесс будет идти ещё быстрее.
С уважением, Андрей Ивашов.
3 users liked this post
#10 Posted: 2/3/2012 1:20:51 AM
WroteПредлагаю использовать "Ковёр Серпинского" в тесте производительности версий
з.ы. на моей машине считался 8мин. 33 сек.
В версии 0.91 на той же машине 2 мин 21 сек!
Прогресс на лицо или на лице

Не официальный справочник http://sites.google.com/site/mikkhalichlab/
jabber конференция smath@conference.jabber.ru
#11 Posted: 4/17/2012 5:22:45 PM
Россия навсегда!
Вячеслав Мезенцев
4 users liked this post
Mikka 4/18/2012 1:19:00 PM, Fridel Selitsky 4/18/2012 12:57:00 AM, Serg 1/25/2014 12:53:00 PM, kmihaylovich 4/19/2012 2:27:00 AM
#12 Posted: 4/22/2012 5:03:53 AM
Дерево Пифагора

Документ: Pythagoras Tree.sm
Примечание. Очень долго считает. При ограничении размера конечной ветки до 0,1 считает около 1 минуты у меня.
Документ: Pythagoras Tree.sm
Примечание. Очень долго считает. При ограничении размера конечной ветки до 0,1 считает около 1 минуты у меня.
Россия навсегда!
Вячеслав Мезенцев
1 users liked this post
Serg 1/25/2014 12:53:00 PM
1 Pages (12 items)
-
New Posts
-
No New Posts