Pages

Fortran Resources (recipes, libraries, learning materials, etc)

Fortran95 features
from Wikipedia

List of Fortran Numerical Libraries
from Wikipedia

Numerical Methods for Fortran Programmars
from people.sc.fsu.edu
contain links to fortran libraries and subroutines

Scientific Programming and Numerical Computation
from Wu-ting Tsai, National Taiwan University.

Fortran95 Interface to Matlab
from Matlab

Fortran Resources List
from BCS Fortran Specialist Group

Fortran Wiki
contains tutorials and FORTRAN code collections
contains list of links that contain FORTRAN codes

Fortran Tutorials ( a list of tutorials)
a list form The Fortran Company

Computational Physics using Fortran (official link)
an NPTEL course with a brief introduction to Fortran

Fortran90 Tutorial 
From MTU


How to read a technical book (Physics, Chemistry, Maths, CS, engineering, etc)

If you want to read a novel or biography, go ahead.

But for a technical book which is full of concepts, mathematical equations, etc, you need to find out a suitable way to read those books. Actually, in schools and colleges, the first course should be how to read books. 

Here are some of my notes on how to read technical books.

In LinkedIn I read "not all books are for everyone". 

First answer these questions before starting to read the book.
  1. As yourself "Why do I want to read this book?"
  2. Go through the table of content. After that, make sure that you want to read this book.
  3. Does the content of this book meet my requirement?
  4. If that book contain mathematical equations, do I need paper and pencil to practice as I read; or if your book is related to computer science programming, then, do I need to practice in a computer while reading the book? Answer this question. 
  5. Have I read similar book earlier or this is completely new? 
Why reading a technical book is hard?
  1. book contains many technical terms
  2. book contain rigorous mathematics beyond our comprehension
  3. the programming book contain complicated syntax and difficult algorithms 
  4. the book assumes that you have pre-requisites such as prior programming knowledge or math knowledge 
You may think that mere patience is enough to complete and comprehend and understand any technical book. Now also I am thinking so (which is going to change soon). But, this is not working.

Unless it is a must read book, check following.

You must read the perquisite first. In my opinion any technical book should mention what the author assumes to have known by the readers. But, most of the authors fail to do so. Similarly, any course description should start with perquisites. See the courses in MIT OCW. For all the courses, the prerequisites have been given which is a very good practice that everyone should adapt. A preface should contain this information.

Now steps to read the book.
  1. read the preface
  2. gently go through the entire book like bird eye view. In this stage, you can read the head title. But, don't even go through the subtitle. Just hover around the book once. 
  3. Then, read the contents
  4. Go through each chapter, subtitles, figures, tables, diagrams, etc. Just look at the equations but don't try to comprehend the equation.
  5. Then, again read the contents
  6. Now, go through each chapter and read the title, subtitle, first and last sentence of each paragraph. Reading the first and last sentence of any paragraph should summarize the information in that entire paragraph. A well written piece of anything (article or book) should obey this rule
  7. points 1-6 should be done in a single sitting. Points 7 8 and 9 may take many days or even weeks or months to complete based on the difficulty, depth, subject, your expertise in the field, etc.
  8. In the next step, go through the entire book without doing anything practical such as working out the equation in a math equation intense book or doing coding in a computer while reading. Just go through the text and everything and try to comprehend the book. While reading, take important points, write unknown things, write what you need to learn a specific part in the specific unit, etc.
  9. Then, learn what you need to learn before understanding this book. Otherwise, you are wasting your time. If a particular unit uses a specific mathematical equation and you don't know its physical meaning, then what is the use? If that portion is out of your interest or you want to neglect at present, write what you omit (for later reference)
  10. After that, if you read a math book, have a notebook and pen. If it is programming book, have a computer to check the code. Practice the math/programming while reading through each chapter. While doing this you can revise your notes by adding or minimizing the notes you wrote in the previous step. Once you complete this procedure, you will be a master in that subject.
  11. Make sure to go through the entire book and you understand each and everything there.
  12. Before completing this book, don't ready any other book either on the same topic/subject. For example, if you read Quantum Mechanics by R Shankar, you should follow the procedure till you finish the book. While you complete the first chapter of the book, don't take another book on Quantum Mechanics with some other author. No matter how much another books is better or best, once decided a book, go through it entirely. You have a way. Some concepts or portions in your selected book may be hard to understand. Note down those parts and you can check those topics in other books after completing this book. But never ever take the second book while reading the first book. This is the biggest mistake I am doing for the entire life so far. I am changing now. That is why, choosing a book for reading is the very book step. Once chosen, stick with that book. Don't go to other books. In contrast, if you are reading novel or biography books, or fiction/non-fiction you can pick one book on each category and you can switch between each of these books. 
What do you think about this article? 

Write your thoughts and comments here.






Journals for Machine Learning and Deep Learning applications

Here are the list of journals that publish papers in machine learning applications.

https://www.tandfonline.com/loi/uaai20?gclid=CjwKCAiAsIDxBRAsEiwAV76N8-hqz0nV_zroA4jazsDqBaakJPmrUgi_X_hYzjkLNKe6i5SqFkZvnhoC0vkQAvD_BwE
https://www.journals.elsevier.com/pattern-recognition-letters
https://www.journals.elsevier.com/artificial-intelligence
https://www.nature.com/natmachintell/
https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5962385
https://www.journals.elsevier.com/neurocomputing
https://www.worldscientific.com/worldscinet/ijait
https://www.worldscientific.com/worldscinet/ijprai?campaignid=336010695&adgroupid=23075846775&creative=81823290255&keyword=&gclid=CjwKCAiAsIDxBRAsEiwAV76N8z5zITmxaVXQqeB-kOkTUcYw6uPEL754iVotNoSgYCXHYrNd7PUE8hoCkx0QAvD_BwE
https://www.tandfonline.com/toc/teta20/current
https://www.journals.elsevier.com/information-sciences
https://www.springer.com/journal/10044
https://www.journals.elsevier.com/pattern-recognition
https://www.journals.elsevier.com/neural-networks
https://www.springer.com/journal/10994
http://www.jmlr.org/
https://link.springer.com/journal/10618

Tools for reviewers

If you review research articles, or aspiring researcher, following links may be useful to you.

PubPeer
Publons
COPE
Retraction Watch

Machine Learning


Question: Which of them is a supervised classification problem?

Answer: Using labeled financial data to predict whether the value of a stock will go up or go down next week.

"Exactly! In this example, there are two discrete, qualitative outcomes: the stock market going up, and the stock market going down. This can be represented using a binary variable, and is an application perfectly suited for classification."

So this supervised learning can be used to predict whether something will go up or down (stock prices, temperature, number of sales, etc. To do this you need labelled data because, this is a supervised learning. This can be used whether spin is up or down kind of problem.

Where this type of model can be used in physics, chemistry, mathematics, etc? Is there such studies?

A common data sets used is Iris dataset.

This data set contain

  1. petal length 
  2. petal width
  3. Setal length
  4. Setal width
Here, in this blog, you can see how these four quantities are measured. 

Target variable?

In machine learning, a target variable is one that should be the output (after the analysis)

Three different flower species. 
          0. Setosa
          1. Versicolor
          2. Virginica
Here, we are going to give the four data of an unknown flower (to the trained model), and we are going to find out which flower it is (the model will give 0 or 1 or 2 based on the input).

iris.data.shape gives (150, 4) which means that there are 154 rows (data) with four different information (here petal length, petal width, Setal length, Setal width).  

iris.data.shape   
(150,4)
iris.target_names
(names of the target in an array)



(to be continued)









RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility in jupyter notebook python

/usr/lib/python3.5/importlib/_bootstrap.py:222:
RuntimeWarning: numpy.dtype size changed, 
may indicate binary incompatibility.

Expected 96, got 88 return f(*args, **kwds)
This warning is harmless. 
This is due to the Numpy version 1.15.0 or 1.15.1

You can ignore this. 
Or you can go back to Numpy version 1.14.5 

You can do this by

conda install numpy1.14.5

Or, you can wait until Numpy1.15.2 is released.








You may be interested in these posts

Error in image file conversion: convert-im6.q16: not authorized `test.eps' @ error/constitute.c/WriteImage/1037.

This error is because of the vulnerability. This allows remote execution of code using image formats. So, some Linux distributions by defaul...