2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1 ... 16, 17, 18, 19, 20  След.

А вам пакет PARI/GP интересен?
Да 85%  85%  [ 44 ]
Нет 4%  4%  [ 2 ]
Не уверен(а) 12%  12%  [ 6 ]
Всего голосов : 52
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение02.08.2018, 23:41 
Заслуженный участник


20/08/14
5090
Россия, Москва
wrest
Как сохранить именно средствами самого PARI не знаю. Ну так пишите сразу во внешнем файле и запускайте PARI с параметром. Там же и параметр -q есть для подавления вывода стартовой информации. Я всегда так делаю как строка перестаёт быть обозримой. :-)
Ну и есть сильно кривой обходной путь: включить логирование (\l file.log) и вывести список всех пользовательских функций (\u), после чего останется поправить совсем немного в файле лога.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение02.08.2018, 23:58 


05/09/16
4604
Dmitriy40 в сообщении #1330262 писал(а):
Ну так пишите сразу во внешнем файле

Ну я же немного в гамаке :mrgreen: -- в linux-like среде termux (bash shell) на планшете android... так что это очень геморно, но я готов один раз написать какую-то функцию типа save() которая будет принимать имя функции навроде save(foo), добавлять в какой-то заранее определенный файл например u.gp строку foo()=много кода, после чего я готов после рестарта в новой сесси псиать \r u.gp

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение03.08.2018, 15:32 


05/09/16
4604
Разобрался с сохраненем функций.
Можно делать так.
Код:
foo(x)=код функции
write("u.gp","foo=",foo)

После рестарта сессии читаем так:
Код:
\r u.gp

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение05.08.2018, 08:46 
Аватара пользователя


12/10/16
324
Almaty, Kazakhstan
как пишется логарифм в степени 2 в pari/gp?
$y=\log_2(x)$
Вычислить $y$ логарифма числа $x$ от степени 2.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение05.08.2018, 10:14 


16/08/05
815
Soul Friend
Код:
? 2^3
%9 = 8
?
? log(8)/log(2)
%10 = 3.0000000000000000000000000000000000000

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение05.08.2018, 14:51 
Аватара пользователя


12/10/16
324
Almaty, Kazakhstan
dmd
Спасибо.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение10.08.2018, 12:36 
Заслуженный участник


20/08/14
5090
Россия, Москва
Подскажите кто в курсе, как из типа t_INTMOD выцепить само число в целую переменную (с типом t_INT)? Пример:
Код:
? type(Mod(3,16))
%1 = "t_INTMOD"
? round(Mod(3,16))
%2 = Mod(3, 16)
А хочу получить тройку ... Никак не соображу как. :-(

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение10.08.2018, 12:39 
Аватара пользователя


11/06/12
8338
calm.angel.driven
https://stackoverflow.com/questions/225 ... in-pari-gp. Там упоминается функция lift.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение10.08.2018, 12:43 
Заслуженный участник


20/08/14
5090
Россия, Москва
Aritaborian
Спасибо добрый человек! Работает:
Код:
? lift(Mod(3,16))
%3 = 3
? type(lift(Mod(3,16)))
%4 = "t_INT"
Ни в жизнь не догадался бы.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение10.08.2018, 12:47 


05/09/16
4604
Dmitriy40
Кстати полезная штука -- reference card https://pari.math.u-bordeaux.fr/pub/par ... efcard.pdf

Еще есть centerlift.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение10.08.2018, 12:52 
Заслуженный участник


20/08/14
5090
Россия, Москва
wrest
Эти документы, включая и users.pdf, у меня есть и открыты. Но вот не нашёл в них (и в гугле тоже не нашёл). Или не понял. Собственно про lift и иже с ним вообще не догоняю что это и зачем ...

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение10.08.2018, 13:13 


05/09/16
4604
Dmitriy40 в сообщении #1331592 писал(а):
Собственно про lift и иже с ним вообще не догоняю что это и зачем ...

Ну так Mod это ж не функция которая что-то вычисляет, а конструктор который создаёт объект...

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение11.08.2018, 21:50 


16/08/05
815
а модуль подымается при помощи .mod
Код:
? m=Mod(3,16);
?
? m.mod
%7 = 16
?

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение11.08.2018, 23:46 
Модератор
Аватара пользователя


11/01/06
5346
Есть еще универсальная функция component(), которая извлекает компоненты любого объекта (в том числе и объектов типа t_INTMOD):
Код:
? m=Mod(3,16);
? component(m,1)
%2 = 16
? component(m,2)
%3 = 3

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение12.08.2018, 00:28 
Аватара пользователя


11/06/12
8338
calm.angel.driven
maxal в сообщении #1331841 писал(а):
Есть еще универсальная функция component()
Воот, это я понимаю, это дельно. Но почему такой умный человек, как Dmitriy40, должен был дожидаться этой подсказки? Боюсь, что-то с системой не так (в плане документации).

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

Модераторы: Karan, PAV, Toucan, maxal, Супермодераторы



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

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


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

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