Dynamical Systems seminar is supported by RFBR project 20-01-00420-a and Laboratory Poncelet.

Файл:Fubini Nightmare foliation Katok example.svg

Материал из DSWiki
Перейти к навигацииПерейти к поиску

Исходный файл(SVG-файл, номинально 720 × 720 пкс, размер файла: 1,62 Мб)

Этот файл из на Викискладе и может использоваться в других проектах. Информация с его страницы описания приведена ниже.

Краткое описание

Описание
English: Fubini Nighmare foliation example due to Katok
Русский: Кошмар Фубини, конструкция Катка
Дата
Источник

Собственная работа Actually, I've used C++-program to produce Asymptote source. See ru:Кошмар Фубини (Russian) for details on the algorithm. I hereby release the following source code into the public domain.

You have to do the following in order to produce an svg file (assuming the file above is saved as 'fubini.C'):

g++ fubini.C -o fubini
./fubini > fubini.asy # prepare a cup of coffee here. it's a long calculations with default options
asy fubini.asy
pstoedit fubini.eps fubini.svg
Автор Ilya Voyager
SVG‑разработка
InfoField
 
Исходный код этого SVG-файла корректен.
 
Это векторное изображение было создано с помощью Asymptote
Исходный код
InfoField

Asymptote code

#include <iostream>
#include <math.h>
#include <vector>
#include <time.h>
#include <stdlib.h>
#include <assert.h>

using namespace std;
double F(double p, vector<int> a, int N)
{
	assert(p>0 && p<1);
	int i;
	double x=0;
	double q=1-p;
	for(i=0;i<N;i++)
	{
		if(a[i]==1)
		{
			x+=q;
			q*=p;
		}
		else
		{
			q*=(1-p);
		}
	}
	return x;
}

main()
{
	srand(time(NULL));
	vector<int> a;
	double prec=2E-3;
	int N=int(1/(prec*prec));
	int exp=500;
	int i,j;
	double p;
	bool first=true;
	cout << "import graph;\nimport math;\nimport fontsize;\nunitsize(7inch);\ndefaultpen(0.45mm);\n" << endl;
	for(i=0;i<exp;i++)
	{
		a.clear();
		for(j=0;j<N;j++)
		{
			a.push_back(rand()%2);
		}
		first=true;
		for(p=2*prec;p<1-2*prec;p+=prec)
		{
			if(first)
			{
				cout << "draw(";
				first=false;
			}
			else
			{
				cout << "--";
			}
			cout << "(" << p << "," << F(p,a,N) << ")" ;
		}
		cout << ");" << endl;
	}
	cout << "xaxis(\"$p$\",BottomTop,fontsize(48));\nyaxis(\"$x$\",LeftRight,fontsize(48));" << endl;
}

Лицензирование

Public domain Я, владелец авторских прав на это произведение, передаю его в общественное достояние. Это разрешение действует по всему миру.
В некоторых странах это не может быть возможно юридически, в таком случае:
Я даю право кому угодно использовать данное произведение в любых целях без каких-либо условий, за исключением таких условий, которые требуются по закону.
Creative Commons CC-Zero Этот файл доступен на условиях Creative Commons CC0 1.0 Универсальной передачи в общественное достояние (Universal Public Domain Dedication).
Лица, связанные с работой над этим произведением, решили передать данное произведение в общественное достояние, отказавшись от всех прав на произведение по всему миру в рамках закона об авторских правах (а также связанных и смежных прав), в той степени, которую допускает закон. Вы можете копировать, изменять, распространять, исполнять данное произведение в любых целях, в том числе в коммерческих, без получения на это разрешения автора.

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

изображённый объект

У этого свойства есть некоторое значение без элемента в

История файла

Нажмите на дату/время, чтобы увидеть версию файла от того времени.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий13:43, 11 июля 2009Миниатюра для версии от 13:43, 11 июля 2009720 × 720 (1,62 Мб)wikimediacommons>Ilya Voyagersizes fixed

Следующая страница использует этот файл:

Метаданные