# Singular

#### D.13.2.37 isSmooth

Procedure from library `polymake.lib` (see polymake_lib).

Usage:
isSmooth(c); c cone
isSmooth(f); f fan
isSmooth(p); p polytope

Return:
1, if the input is smooth; 0 otherwise

Example:
 ```LIB "polymake.lib"; ==> Welcome to polymake version ==> Copyright (c) 1997-2015 ==> Ewgenij Gawrilow, Michael Joswig (TU Darmstadt) ==> http://www.polymake.org intmat M1[2][2]= 1,0, 0,1; cone c1 = coneViaPoints(M1); isSmooth(c1); ==> polymake: used package ppl ==> The Parma Polyhedra Library (PPL): A C++ library for convex polyhedra ==> and other numerical abstractions. ==> http://www.cs.unipr.it/ppl/ ==> ==> 1 intmat M2[3][3]= 1,0, 1,2; cone c2 = coneViaPoints(M2); fan F1 = emptyFan(2); insertCone(F1,c1); isSmooth(F1); ==> 1 fan F2 = emptyFan(3); insertCone(F2,c2); isSmooth(F2); ==> 1 intmat Mp[3][3]= 1,-2,-3, 1,1,0, 1,0,1; polytope p = polytopeViaPoints(Mp); isSmooth(p); ==> polymake: used package cdd ==> cddlib ==> Implementation of the double description method of Motzkin et al. ==> Copyright by Komei Fukuda. ==> http://www.ifor.math.ethz.ch/~fukuda/cdd_home/cdd.html ==> ==> 0 fan F = normalFan(p); isSmooth(F); ==> 0 intmat Mq[4][3]= 1,2,0, 1,0,1, 1,2,1, 1,0,0; polytope q = polytopeViaPoints(Mq); isSmooth(q); ==> 1 ```