Re: FriCAS - Factorization of linear ordinary differential operators

75 views
Skip to first unread message

Burcin Erocal

unread,
Feb 25, 2014, 9:06:59 AM2/25/14
to lmnd-...@googlegroups.com, fricas...@googlegroups.com, smk...@gmail.com
Hi Samarth,

you should use the fricas-devel@ mailing list to contact the mentors
for this project. I'm also sending this message there.

Can you give more information about your background? Studies,
programming experience, etc.?


Cheers,
Burcin

On Mon, 24 Feb 2014 20:35:42 -0800 (PST)
Samarth Kulshreshtha <smk...@gmail.com> wrote:

> Hey everyone,
>
> First of all, congratulations on being accepted for GSoC 2014!
>
> I was looking forward to work on a project which would connect the
> two fields in which I am most interested - computers and mathematics
> and my search ended when I came across the above mentioned idea. I
> have a decent enough understanding of the math involved in the above
> project.
>
> Can you please help me get started?
>
> Samarth Kulshreshtha
> Manipal Institute of Technology
> Computer Science Engineering
>

Burcin Erocal

unread,
Feb 25, 2014, 9:12:21 AM2/25/14
to lmnd-...@googlegroups.com, fricas...@googlegroups.com, mailv...@gmail.com
Hi Varun,

please use the fricas-devel@ list for questions related to FriCAS
projects. I'm copying your message there for further discussion.

BTW, I was able to use the link below to download Mark van Hoeij's
thesis. Can you try again?

Cheers,
Burcin

On Tue, 25 Feb 2014 03:59:14 -0800 (PST)
varun chopra <mailv...@gmail.com> wrote:

> Hello mentors,
> Congratulations on being accepted for GSOC 2014!
> I am a second year Msc mathematics student in BITS Pilani K.K Birla
> goa campus, INDIA.
> I have read almost all the projects in the given link but this one
> was somewhat related to the courses I have done in my college and
> interests me the most.
> Practically I have solved models involving differential equations
> using Simulink toolbox in MATLAB.
> Theoretically,
> I have done these courses ( Maths (1 , 2 , 3) , Partial differential
> equations , Mathematical methods , algebra 1, graphs and network ,
> operations research , optimization , measure and integration ,
> elementary real analysis , discrete maths )
> Some good experience with languages too. (HTML , CSS , Java , C , C++)
> I am looking forward to increase my radius of knowledge ,
> specifically in differential equations. So from my end what should I
> do to understand the project more effectively? Any useful information
> regarding project which is not mentioned there.
>
> Not able to open this link
> http://www.math.fsu.edu/~hoeij/compalg/diffop/thesis.pdf
> can you send me the pdf ?
>
> Best Regards,
> Varun Chopra
> BITS PILANI GOA CAMPUS
>

varun chopra

unread,
Feb 25, 2014, 2:00:16 PM2/25/14
to fricas...@googlegroups.com, lmnd-...@googlegroups.com, mailv...@gmail.com
Fricas-1.2.2 downloaded. 
Can you send the pdf on my mail. The link is directing but pdf is not opening.
and how should I proceed now? Can there be any use of solving differential equation model in simulink using MATLAB in this project? 
What should I read and learn ? 

Ralf Hemmecke

unread,
Feb 25, 2014, 2:18:49 PM2/25/14
to fricas-devel
> Fricas-1.2.2 downloaded.

Have you installed it? And can you at least redo the tutorial
http://axiom-wiki.newsynthesis.org/ProgrammingSPAD locally on your computer?

> Can there be any use of solving differential equation model in
> simulink using MATLAB in this project? What should I read and learn?

I somehow have to impression that you think that solving differential
equation in this project is about obtaining numerical approximation of
the solution. No, it's not.

FriCAS is a system that can do numerical compuations, but is rather
suited to do symbolic computation. And this project is rather about
symbolic than numeric computation.

To understand the difference... see for example here...
http://axiom-wiki.newsynthesis.org/SandBoxDifferentialEquations of what
FriCAS can do. And in order to get such results there are certain
algorithms that are used. The project basically deals with one of such
algorithm.

Ralf

varun chopra

unread,
Feb 25, 2014, 3:13:15 PM2/25/14
to fricas...@googlegroups.com
yep friCAS installed. reading the tutorial link. 
got the difference! 
Any other link that can help me understand the project more precisely. Any reading material. 



Ralf

--
You received this message because you are subscribed to a topic in the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/fricas-devel/JYqZq8rAHlM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to fricas-devel...@googlegroups.com.
To post to this group, send email to fricas...@googlegroups.com.
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Waldek Hebisch

unread,
Feb 25, 2014, 3:51:41 PM2/25/14
to fricas...@googlegroups.com
Varun Chopra wrote:
> Fricas-1.2.2 downloaded.
> Can you send the pdf on my mail. The link is directing but pdf is not
> opening.
> and how should I proceed now? Can there be any use of solving differential
> equation model in simulink using MATLAB in this project?
> What should I read and learn ?
>

I have sent you pdf in the mail, I hope you can read it. The project
is about _exact_ (symbolic) computations. We start from differential
operator L which with coefficient beeing rational functions of x.
The coefficient are known exactly (in simplest case rational functions
have rational coefficients which can be represented exactly in
the computer). Fundamental thing is that equaltion Lf = 0
has n-dimensional solution space if we allow sufficiently many
f as solutions. One could try to find solutions among rational
functions, but many equations have no rational solutions.
Larger class is elementary functions (build from rational
functions, exp and log by composition) or Liouvillian
functions (beside rational functions, exp and log one can
use integration to express them). There are differential
equation which have no Liouvillian solutions, so we need larger
class of solutions. A lot of equations can be solved by
power series. However, even power series are not enough.
For example f' - 2*x*f = 0 has x^(1/2) as solutions,
which is not a normal power series at 0 (it needs fractional
exponents). f' + (1/x^2)*f = 0 has exp(1/x) as a solutions
and exp(1/x) has no power series expansion at 0. Sometimes
solutions have logarithmic singularity. When
fractional (possibly irrational) power are allowed then
there are n linearly independent solutions of form

f = e*\sum log(x)^i*p_i

where e = exp(r) where r is rational function of 1/k for some
integer k, and p_i are power series in fractional powers
(Puiseux series). This looks similar to traditional theorem
about existence of solutions to differential equations, but
here coeffients of L may have pole at 0, so most traditonal
results do not apply (they need smooth coeffiecients), and
we say nothing about convergence of p_i. Our power series
are formal power series, so we do only operations on coefficients.

Generalized exponents capture e and leading term of power
series. They tell you how solutions behave close to x = 0.
And they contain important information about possible
factorizations of L. Generalized exponents may be found
by factoring L over ring of Puiseux series (that is we allow
as factors operators having series as coefficients). And
factors with series coefficients help find normal factors.

BTW. All of the above is in van Hoeij's thesis.

To implement van Hoeij's algorithms one needs to operate
with series. FriCAS has apropriate domains to do this.
Series are represented in lazy way, namely there is some
number of already computed coefficients and a rule to
compute next term. So on demand we can compute as many
coefficients as needed. Basic operations like addition,
inverse, multiplication are already done. van Hoeij's
algorithms will need some special operations on series.

OK, I think it is enough for today.

--
Waldek Hebisch
heb...@math.uni.wroc.pl

Burcin Erocal

unread,
Feb 25, 2014, 10:34:37 PM2/25/14
to Samarth, fricas...@googlegroups.com
Hi Samarth,

please subscribe to the fricas-devel group [1] and send your responses
there. The mentors for this project are active on that mailing list.

[1] https://groups.google.com/forum/#!forum/fricas-devel

It's important that you keep project related discussions on the mailing
lists, since there might be others who may want to contribute or
benefit later on from the archives (from Waldek's explanations of the
algorithms involved for instance).


Cheers,
Burcin

On Tue, 25 Feb 2014 19:54:28 +0530
Samarth <smk...@gmail.com> wrote:

> I am studying Computer Science Engineering, currently I am in II
> year. I have taken Engineering Calculus for two semesters (Partial
> Differential Equations, Ordinary Differential Equations, Homogeneous
> Equations, Integral Calculus) . I also have a decent understanding of
> Group Theory and Graph Theory.
>
> I have an experience in C/C++, Java, Python, MATLAB and LabView. I
> also have taken up Data Structures. Right now, I am studying the PDF
> given at the link -
> http://www.math.fsu.edu/~hoeij/compalg/diffop/thesis.pdf
>
> What more efforts can I put in order to understand the project more
> effectively?
>
> Thanks!

varun chopra

unread,
Feb 26, 2014, 1:02:50 AM2/26/14
to fricas...@googlegroups.com
I got the Maths of the thesis. For the application part and better understanding of what is to be done I should first get my hands on friCAS I suppose.
Any other important thing I can look out? 
 




--
                              Waldek Hebisch
heb...@math.uni.wroc.pl

Waldek Hebisch

unread,
Feb 26, 2014, 4:00:24 PM2/26/14
to fricas...@googlegroups.com
Varun Chopra wrote:
>
> I got the Maths of the thesis. For the application part and better
> understanding of what is to be done I should first get my hands on friCAS I
> suppose.
> Any other important thing I can look out?
>

I would suggest a little coding task. For example, write a Spad
function which given a linear ordinary differential operator returns
true if the operator has constant coefficients and false otherwise.
This can be done in few lines of code. The difficulty is to
find which operations are available and how to use them.
There is a lot of operations avaliable in FriCAS, so finding
the ones you need is not easy, feel free to ask for extra
information.

--
Waldek Hebisch
heb...@math.uni.wroc.pl

varun chopra

unread,
Feb 27, 2014, 8:18:02 AM2/27/14
to fricas...@googlegroups.com
Can you send me the software? The one I downloaded from internet is not working. 
Till then I will think about it. 




--
                              Waldek Hebisch
heb...@math.uni.wroc.pl

varun chopra

unread,
Feb 27, 2014, 8:29:19 AM2/27/14
to fricas...@googlegroups.com

A linear homogeneous ordinary differential equation with constant coefficients has the general form of



where  are all constants.with constant coefficients has the general form of

where  are all constants.

so the spad function need to check all the a i's are constant and return true and otherwise false.

i will check the operations available in fricas.

Actually I have 7 exams in next 4 days so not able to code properly but as soon as it ends I will be fully devoted.

Thanks

Ralf Hemmecke

unread,
Feb 27, 2014, 8:30:09 AM2/27/14
to fricas...@googlegroups.com
On 02/27/2014 02:18 PM, varun chopra wrote:
> Can you send me the software? The one I downloaded from internet is not
> working.

Sorry, but that's not a proper description of your problem.
Where did you download? What did not work? What have you done? Where are
the logs of your actions?

You should note that FriCAS runs under a unix-like system. If you are
not using Linux on your computer, try to install a virtual machine with
Debian (debian.org) and install FriCAS inside this virtual machine.


You should probably choose a newer version of debian, but this is what I
did to install FriCAS in a VM. I haven't checked it lately, but it
should still work. (If not, provide your error messages.)

https://sites.google.com/site/hemmecke/fricas-virtualbox

Ralf

Ralf Hemmecke

unread,
Feb 27, 2014, 8:52:34 AM2/27/14
to fricas...@googlegroups.com
Hi Varun,

see below of how I see your mail. Unreadable, right? Stop sending HTML.

But yes, you have to check that the a_i are constants. But note that
"constant" does not just mean "real" or "complex" number.

BTW, you know that you have given a differential equation of order n in
your email, but Waldek asked you about a linear ordinary differential
*operator*.

Ralf

On 02/27/2014 02:29 PM, varun chopra wrote:
> A linear homogeneous ordinary differential equation with constant
> coefficients has the general form of
>
>
>
> where are all constants.with constant coefficients has the general form of
>
> where are all *constants*.

Waldek Hebisch

unread,
Mar 6, 2014, 3:14:41 PM3/6/14
to fricas...@googlegroups.com
varun chopra wrote:
>
> A linear homogeneous ordinary differential equation with constant
> coefficients has the general form of
>
>
>
> where are all constants.with constant coefficients has the general form of
>
> where are all *constants*.
>
> so the spad function need to check all the a i's are constant and return
> true and otherwise false.

Yes, exactly.

> On Thu, Feb 27, 2014 at 6:48 PM, varun chopra <mailv...@gmail.com> wrote:
>
> > Can you send me the software? The one I downloaded from internet is not
> > working.

There are sources and binaries on download page. To start coding
pre-build binary is enough: binary contains Spad compiler and
can dynamically load new code. So having binary should be enough
to repeat example on

http://axiom-wiki.newsynthesis.org/ProgrammingSPAD

In fact, for start it may be easier to start with "interpreter":
you can try command on FriCAS command line and add working ones
to a file creating a little function. Important help is FriCAS
browser, it allows you to see what functions are available in
given domain (for example for differential operators).

If binary does not work for you should report all details. It
works for other folks, so without details we can not say
why it does not work for you. If dowload does not work for
you say that clearly: if really needed I can send you binary
via e-mail (but that would be very strange).

BTW: axiom-wiki site allows you to develop code via Web,
crate a sandbox page, use preview mode to make changes and
save when it works (or you need a break). But having FriCAS
locally is much more convenient.

--
Waldek Hebisch
heb...@math.uni.wroc.pl
Reply all
Reply to author
Forward
0 new messages