Hire the best
Nu Specialists

Top 27 Nu Specialists on 18 Jun 2019 on Toogit. Nu Specialists on Toogit are highly skilled and talented. Hiring Nu Specialists on Toogit is quite affordable as compared to a full-time employee and you can save upto 50% in business cost by hiring Nu Specialists on Toogit. Hiring Nu Specialists on Toogit is 100% safe as the money is released to the Freelancer only after you are 100% satisfied with the work.

Get Started

Explore Toogit’s top Nu Specialists

Durga P.Graphic designer , India
$4 /hr
1 Years Exp.
I have completed an international certification in vfx and animation. I have two internship experiences one with government of andhra pradesh as a gra...Read More
Ravi Teja S.3d & vfx artist, India
$52 /hr
2 Years Exp.
I am 3d designer and vfx artist having good knowledge and have worked in freelance projects And I know graphic and 2d animation.
To view more profile join Toogit

Get Started

How it works

Post a job

Post a Job

List your project requirement with us. Anything you want to get developed or want to add to your business. Toogit connects you to Top freelancers around the world.



Invite and interview your preferred talent to get work done. Toogit Instant Connect helps you if you need your project started immediately.



Define Tasks, use Toogit's powerful project management tool, stay updated with real time activity logs



Review work, track working hours. Pay freelancers only if you are 100% satisfied with the work done.

Popular How-To's in Nu category

How to create a solver in python
Scripts & Utilities

Python scipy provides a good number of optimizers/solvers. You can use these optimizers to solve various non-linear and linear equations. However, sometimes things might get tricky...

Read More
How to show errors and handling errors in php
Web Development

Now a days, PHP is the most popular server-side web programming language, so it’s important to know how to resolve any errors that may occur when PHP code is executed.Here, we will...

Read More
How to Remove Element from an Array: JavaScript
Web Development

Removing elements from a JavaScript array is a common programming paradigm that developers often run into. As with a lot of things JavaScript, this isn’t as simple as it probably s...

Read More

Reviews From Our Users

Articles Related To Nu

Picking the right company structure for your business is as important as any other business-related activity. The right business structure can allow your enterprise to control efficiently and meet your required business targets. In India, each business should register themselves as a part of the necessary legal compliance. Before we tend to learn how to register a company, let’s try and understand the types of business structures in India.

Types of business structure in India:

  1. One Person Company (OPC): It is the simplest way to start a company if there exists only 1 promoter or owner. It allows a sole-proprietor to hold on his work and still be a part of the company framework.
  2. Limited Liability Partnership (LLP): This kind of business structure was essentially formed to provide limited liability to its owners. To become a partner of LLP doesn’t involve a huge lengthy complicated method. It’s simple to form as well as simple to become a partner. In it, each partner has limited liability to the extent of capital contributed by them. They don’t have to suffer on behalf of its other partners.
  3. Private Limited Company: A Private Limited Company is that company which is owned privately by the individuals. It is more flexible and easy to form than a Public company. It can be formed with just 2 members and 2 directors. But there is a restriction in the maximum number of its partners which is restricted to 200. The number of shareholders is limited to 50 only. A Private company cannot invite public to apply for its shares. This kind of company is more preferred by investors because they can buy/sell stakes easily.
  4. Public Limited Company: A Public Limited Company is that company which is owned by public or in which the public can subscribe. The minimum number of directors is 3 and the minimum number of shareholders is 7. There is no limit on the maximum number of shareholders. The shareholders have limited liability to the extent of the face value of its shares and the premium respectively.

Steps for registration of new company

Obtain Director Identification Number

Director identification number is a unique number allotted by Central Government to any person assuming to be a director or existing director of company in India. Director identification number is 8 digit unique number which has a lifetime validity, details of director are maintained in database through this number.

Whenever a return, an application or any information associated with a corporation or company are going to be submitted under any law, the director signing such return, application or information will mention his Director Identification Number underneath his signature.

Procedure to obtain DIN: There are three different forms

1.      Spice Form (Application Of First Directors In Case Of New Companies): SPICe form is used by the first directors of new companies. The intended person who has not obtained DIN shall make an application through eForm SPICe. The documents which  need to be attached are

·         Proof of identity

·         Proof of address

2.      DIR-3 Form: Any person intending to become a director in an already existing company shall have to make an application in eForm DIR-3 for allotment of DIN.

·         Procedure to obtain DIR-3 Form: The form shall be mandatorily signed by the applicant and the same shall be verified digitally by a:

·   Company Secretary (who is fulltime employment of the company)

·   Managing director or manager.

·   Chief Executive Officer or Chief Financial Officer.

Two supporting documents need to be attached that is:

·   Photograph of the concerned applicant.

·   Proof of identity and Proof of residence.

3.      DIR-6 Form: DIR-6 Form is used by the directors when there are any changes in the particulars of the directors. The form shall be signed by the applicant and certified by a Chartered Accountant, Company Secretary, Cost accountant (whole time practice), Director of an existing company.

Obtain Digital Signature Certificate

A Digital Signature Certificate is a secure digital key that is issued by the certifying authorities for the purpose of validating and certifying the identity of the person holding this certificate. Digital Signatures make use of the general public key encryptions to create the signatures. A digital signature certificate (DSC) contains information concerning the user’s name, pin code, country, email address, date of issuance of certificate and name of the certifying authority.

A Digital Signature Certificate (DSC) explicitly associates the identity of an individual/device with a two keys - public and private keys. The certificate contains data about a user's identity (for example, their name, pincode, country, email address, the date the certificate was issued and also the name of the CA. These keys will not work in the absence of the other. They’re used by browsers and servers to encode and decode data concerning the identity of the certificate user.

The private key is stored on the user's computer hard disk or on an external device like a USB token. The user retains control of the private key; it will solely be used with the issued password. The public key is disseminated with the encrypted data. The authentication method fails if either one of these keys in not available or do not match. This means that the encrypted information cannot be decrypted and so, is inaccessible to unauthorized parties.

Procedure to obtain digital signature certificate

  1. Submission of DSC Application form duly filled in by the applicant. Any individual applying for a Digital Signature Certificate is required to fill an Application Form for online submission and verification of personal details by the certifying authority.
  2. Producing Photo ID proof
  3. Producing  Address proof
  4. To fill in the Application form the please log in to the website of the Certifying Authority.

Register a Company Name

Tips for naming your startup company:

  1. Avoid hard to spell, you don’t want potential customers getting confused concerning how to find your business on-line. You would like to avoid having to continually correct the misspelled version of your name. Keep it simple.
  2. Don’t pick a name that could be limiting as your business grows.
  3. Once you have determined a name you like, do a web search on the name. You will find that someone else is already using that business name.
  4. Use the most secure “.com” domain name for your business rather than alternatives such as .net, .org, .biz, or other possible domain extensions.
  5. You want the business name to convey something meaningful and positive related to your business.
  6. Make sure you are personally happy with the name.

To register your company, you will file your completed application online with the Indian government’s Registrar of Companies, or RoC. The RoC, which is under the jurisdiction of the Ministry of Corporate Affairs, oversees the incorporation of new companies and the administration of businesses under the statutory regulations of the Companies Act.

Check online to see if your choice of company name is available. Before you file your application to register your company, it’s a good idea to have your company names firmly in place to ensure the registration process isn’t hindered.

Get Certificate of Incorporation

A Certificate of Incorporation (COI) is a legal document that is issued by Ministry of Corporate Affairs (MCA) once a Company is successfully registered with them. The COI is a proof that the company is now registered with the Registrar of Companies (ROC).

COI issued consists of a date which depicts the date from which the company is deemed to be official registered. It can then commence its business and start working. Unlike sole proprietorship registration of private limited company is mandatory. It is the duty of the promoter to apply for a COI.

Obtain Permanent Account Number

Permanent Account number (PAN) refers to a ten-digit alphanumeric number, issued in the form of a laminated card, by the income tax Department in India. it is a must to have a PAN number for all those who file their income tax returns, because from 2005 onward, it has been made mandatory by the income tax Department to quote the PAN on return of income as well as on all correspondence with any income tax authority in the country.

Registration of GST

GST is the biggest tax reform in India, tremendously improving ease of doing business and increasing the taxpayer base in India by bringing in millions of small businesses in India. By abolishing and subsuming multiple taxes into a single system, tax complexities would be reduced while tax base is increased substantially. Under the new GST regime, all entities involved in buying or selling goods or providing services or both are required to register for GST. Entities without GST registration would not be allowed to collect GST from a customer or claim an input tax credit of GST paid and/or could be penalized. Further, registration under GST is mandatory once an entity crosses the minimum threshold turnover of starts a new business that is expected to cross the prescribed turnover.

NLP is a branch of data science that consists of systematic processes for analyzing, understanding, and deriving information from the text information in a smart and efficient manner. By utilizing NLP and its parts, one can organize the massive chunks of text information, perform various automated tasks and solve a wide range of issues like – automatic summarization, machine translation, named entity recognition, relationship extraction, sentiment analysis, speech recognition, and topic segmentation etc.


NLTK (Natural Language Toolkit) is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to lexical resources like WordNet, along with a collection of text processing libraries for classification, tokenization, stemming, and tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries.


NLTK has been called “a wonderful tool for teaching and working in, computational linguistics using Python,” and “an amazing library to play with natural language.”


Downloading and installing NLTK

  1. Install NLTK: run pip install nltk
  2. Test installation: run python then type import nltk and run nltk.download() and download all packages.


Pre-Processing with NLTK

The main issue with text data is that it's all in text format. However, the Machine learning algorithms need some variety of numerical feature vector so as to perform the task. Thus before we have a tendency to begin with any NLP project we'd like to pre-process it to form it ideal for working. Basic text pre-processing includes:


  • Converting the whole text into uppercase or lowercase, in order that the algorithm doesn't treat the same words completely different in several cases.
  • Tokenization: Process of converting the normal text strings into a list of tokens i.e. words that we actually want. The NLTK data package includes a pre-trained Punkt tokenizer for English.


           import nltk

           from nltk.tokenize import word_tokenize

           text = "God is Great! I won a lottery."


           Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']


  • Noise removal: Process of removing everything that isn’t in a standard number or letter.
  • Stop word removal: A stop word is a commonly used word (such as “the”, “a”, “an”, “in”). We would not want these words or taking up valuable processing time. For this, we can remove them easily, by storing a list of words that you consider to be stop words. NLTK (Natural Language Toolkit) in python has a list of stopwords stored in sixteen different languages. You can find them in the nltk_data directory.  home/Saad/nltk_data/corpora/stopwords is the directory address.

           import nltk

           from nltk.corpus import stopwords



  • Stemming: Stemming is the process of reducing the words to its root form. Example if we were to stem the following words: “Connects”, “Connecting”, “Connected”, “and Connection”, the result would be a single word “Connect”.

           # import these modules

           from nltk.stem import PorterStemmer

           from nltk.tokenize import word_tokenize   

           ps = PorterStemmer()  

           # choose some words to be stemmed

           words = ["Connect", "Connects", “Connected”, "Connecting", "Connection", "Connections"]


           for w in words:

           print(w, " : ", ps.stem(w)) 


  • Lemmatization: Lemmatization is the process of grouping along the various inflected forms of a word in order that they may be analyzed as a single item. Lemmatization is similar to stemming but it brings context to the words. Therefore it links words with similar meaning to one word.

           # import these modules

           from nltk.stem import WordNetLemmatizer  

           lemmatizer = WordNetLemmatizer()  

           print("rocks :", lemmatizer.lemmatize("rocks"))

           print("corpora :", lemmatizer.lemmatize("corpora"))  

           # a denotes adjective in "pos"

          print("better :", lemmatizer.lemmatize("better", pos ="a"))


          -> rocks : rock

          -> corpora : corpus

          -> better : good


Now we need to transform text into a meaningful vector array. This vector array is a representation of text that describes the occurrence of words within a document. For example, if our dictionary contains the words {Learning, is, the, not, great}, and we want to vectorize the text “Learning is great”, we would have the following vector: (1, 1, 0, 0, 1). A problem is that extremely frequent words begin to dominate within the document (e.g. larger score), however might not contain as much informational content. Also, it will offer additional weight to longer documents than shorter documents.


One approach is to rescale the frequency of words or the scores for frequent words called Term Frequency-Inverse Document Frequency.


  • Term Frequency: is a scoring of the frequency of the word in the current document.

           TF = (Number of times term t appears in a document)/ (Number of terms in the document)


  • Inverse Document Frequency: It is a scoring of how rare the word is across documents.

           IDF = 1+log(N/n), where, N is the number of documents and n is the number of documents a term t has appeared in.


           Tf-idf weight is a weight often used in information retrieval and text mining.

           Tf-IDF can be implemented in scikit learn as:


           from sklearn.feature_extraction.text import TfidfVectorizer

           corpus = [

           ...     'This is the first document.’

           ...     'This document is the second document.’

           ...     'And this is the third one.’

           ...     'Is this the first document?',]

           >>> vectorizer = TfidfVectorizer()

           >>> X = vectorizer.fit_transform(corpus)

           >>> print(vectorizer.get_feature_names())

           ['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this']

           >>> print(X.shape)

           (4, 9)


  • Cosine similarity: TF-IDF is a transformation applied to texts to get two real-valued vectors in vector space. We can then obtain the Cosine similarity of any pair of vectors by taking their dot product and dividing that by the product of their norms. That yields the cosine of the angle between the vectors. Cosine similarity is a measure of similarity between two non-zero vectors.

           Cosine Similarity (d1, d2) =  Dot product(d1, d2) / ||d1|| * ||d2||


          import numpy as np

          from sklearn.metrics.pairwise import cosine_similarity

          # vectors

          a = np.array([1,2,3])

          b = np.array([1,1,4])

          # manually compute cosine similarity

          dot = np.dot(a, b)

          norma = np.linalg.norm(a)

          normb = np.linalg.norm(b)

          cos = dot / (norma * normb)


After completion of cosine similarity matric we perform algorithmic operation on it for Document similarity calculation, sentiment analysis, topic segmentation etc.


I have done my best to make the article simple and interesting for you, hope you found it useful and interesting too.

Optimization deals with selecting the simplest option among a number of possible choices that are feasible or do not violate constraints. Python is used to optimize parameters in a model to best fit data, increase profitability of a possible engineering style, or meet another form of objective which will be described mathematically with variables and equations.


pyOpt is a Python-based package for formulating and solving nonlinear constrained optimization problems in an efficient, reusable and portable manner. Python programming uses object-oriented concepts, such as class inheritance and operator overloading, to maintain a distinct separation between the problem formulation and the optimization approach used to solve the problem.


All optimisation downside solvers inherit from the Optimizer abstract category. The category attributes include the solver name (name), an optimizer kind symbol (category), and dictionaries that contain the solver setup parameters (options) and message output settings (informs). The class provides ways to check and alter default solver parameters (getOption, setOption), as well as a method that runs the solver for a given optimisation problem (solve).


Optimization solver

A number of constrained optimization solvers are designed to solve the general nonlinear optimization problem.

  1. PSQP: This optimizer is a preconditioned sequential quadratic programming algorithm. This optimizer implements a sequential quadratic programming method with a BFGS variable metric update.
  2. SLSQP: This optimizer is a sequential least squares programming algorithm. SLSQP uses the Han–Powell quasi-Newton method with a BFGS update of the B-matrix and an L1-test function in the step-length algorithm. The optimizer uses a slightly modified version of Lawson and Hanson’s NNLS nonlinear least-squares solver.
  3. CONMIN: This optimizer implements the method of feasible directions. CONMIN solves the nonlinear programming problem by moving from one feasible point to an improved one by choosing at each iteration a feasible direction and step size that improves the objective function.
  4. COBYLA: It is an implementation of Powell’s nonlinear derivative–free constrained optimization that uses a linear approximation approach. The algorithm is a sequential trust–region algorithm that employs linear approximations to the objective and constraint functions.
  5. SOLVOPT: SOLVOPT is a modified version of Shor’s r–algorithm with space dilation to find a local minimum of nonlinear and non–smooth problems.
  6. KSOPT: This code reformulates the constrained problem into an unconstrained one using a composite Kreisselmeier–Steinhauser objective function to create an envelope of the objective function and set of constraints. The envelope function is then optimized using a sequential unconstrained minimization technique.
  7. NSGA2: This optimizer is a non-dominating sorting genetic algorithm that solves non-convex and non-smooth single and multiobjective optimization problems.
  8. ALGENCAN: It solves the general non-linear constrained optimization problem without resorting to the use of matrix manipulations. It uses instead an Augmented Lagrangian approach which is able to solve extremely large problems with moderate computer time.
  9. FILTERSD: It use of a Ritz values approach Linear Constraint Problem solver. Second derivatives and storage of an approximate reduced Hessian matrix is avoided using a limited memory spectral gradient approach based on Ritz values.


To solve an optimization problem with pyOpt an optimizer must be initialized. The initialization of one or more optimizers is independent of the initialization of any number of optimization problems. To initialize SLSQP, which is an open-source, sequential least squares programming algorithm that comes as part of the pyOpt package, use:

>>> slsqp = pyOpt.SLSQP()

This initializes an instance of SLSQP with the default options. The setOption method can be used to change any optimizer specific option, for example the internal output flag of SLSQP:

>>> slsqp.setOption('IPRINT', -1)

Now Schittkowski’s constrained problem can be solved using SLSQP and for example, pyOpt’s automatic finite difference for the gradients:

>>> [fstr, xstr, inform] = slsqp(opt_prob,sens_type='FD')

By default, the solution information of an optimizer is also stored in the specific optimization problem. To output solution to the screen one can use:

>>> print opt_prob.solution(0)



The problem is taken from the set of nonlinear programming examples by Hock and Schittkowski and it is defined as


      min            − x1x2x3



subjected to     x1 + 2x2 + 2x3 − 72 ≤ 0

                        − x1 − 2x2 − 2x3 ≤ 0


                        0 ≤ x1 ≤ 42

                        0 ≤ x2 ≤ 42

                        0 ≤ x3 ≤ 42


The optimum of this problem is at (x1∗ , x2∗ , x3* ) = (24, 12, 12), with an objective function value of f ∗ = −3456, and constraint values g (x∗ ) = (0, −72).



# Standard Python modules


import os, sys, time

import pdb


# Extension modules


#from pyOpt import *

from pyOpt import Optimization

from pyOpt import PSQP

from pyOpt import SLSQP

from pyOpt import CONMIN

from pyOpt import COBYLA

from pyOpt import SOLVOPT

from pyOpt import KSOPT

from pyOpt import NSGA2

from pyOpt import ALGENCAN

from pyOpt import FILTERSD



def objfunc(x):


    f = -x[0]*x[1]*x[2]

    g = [0.0]*2

    g[0] = x[0] + 2.*x[1] + 2.*x[2] - 72.0

    g[1] = -x[0] - 2.*x[1] - 2.*x[2]


    fail = 0

    return f,g, fail  



# Instantiate Optimization Problem

opt_prob = Optimization('Hock and Schittkowski Constrained Problem',objfunc)







print opt_prob


# Instantiate Optimizer (PSQP) & Solve Problem

psqp = PSQP()



print opt_prob.solution(0)


# Instantiate Optimizer (SLSQP) & Solve Problem

slsqp = SLSQP()



print opt_prob.solution(1)


# Instantiate Optimizer (CONMIN) & Solve Problem

conmin = CONMIN()



print opt_prob.solution(2)


# Instantiate Optimizer (COBYLA) & Solve Problem

cobyla = COBYLA()



print opt_prob.solution(3)


# Instantiate Optimizer (SOLVOPT) & Solve Problem

solvopt = SOLVOPT()



print opt_prob.solution(4)


# Instantiate Optimizer (KSOPT) & Solve Problem

ksopt = KSOPT()



print opt_prob.solution(5)


# Instantiate Optimizer (NSGA2) & Solve Problem

nsga2 = NSGA2()



print opt_prob.solution(6)


# Instantiate Optimizer (ALGENCAN) & Solve Problem

algencan = ALGENCAN()



print opt_prob.solution(7)


# Instantiate Optimizer (FILTERSD) & Solve Problem

filtersd = FILTERSD()



print opt_prob.solution(8)


Solving non-linear global optimization problems could be tedious task sometimes. If the problem is not that complex then general purpose solvers could work. However, as the complexity of problem increases, general purpose global optimizers start to take time. That is when need to create your problem specific fast and direct global optimizer’s need arises.


We have an specialized team with PHD holders and coders to design and develop customized global optimizers. If you need help with one, please feel free to send your queries to us.


We first understand the problem and data by visualizing it. After that we create a solution to your needs.


Please do read to understand what a solver is and how it works - If you want to create your own simple solver. This is not exactly how every solver works, however, this will give you a pretty solid idea of what is a solver and how it is supposed to work.

Articles Related To Nu

How to start a company in India
How to start a company in India
Marketing Strategy

Picking the right company structure for your business is as important as any other business-related activity. The right business structure can allow your enterprise to control effi...

Read More
Natural Language Processing in Python
Natural Language Processing in Python
Web Development

NLP is a branch of data science that consists of systematic processes for analyzing, understanding, and deriving information from the text information in a smart and efficient mann...

Read More
How to solve non-linear optimization problems in Python
How to solve non-linear optimization problems in P...
Other - Software Development

Optimization deals with selecting the simplest option among a number of possible choices that are feasible or do not violate constraints. Python is used to optimize parameters in a...

Read More

Other Freelancers In Similar Categories

King S.

I'm 2time Animation 1st prize winner in Delhi. I'm certified by Adobe Certified Associate in 2018 in...

Filzah A.

I am a dietitian working in Government Hospital in Malaysia. Previously I worked as a Dietitian in Tree Top Ho...

Divya T.

I am a certified nutrition and a freelance writer.


I am a certified Ml Engineer and technology enthusiastic.

What our users are discussing about Nu