Q:

How to know where a surface concaves up or not.

I want to know if there is a way to find where a surface concaves up. 
In a calculus course, I learned that if you want to know the concavity of a several variable real valued function, you should set a direction and find a second derivative of the given direction. 
But,, I think it gives us only restricted information(local information) about the graph of a function. If I want to know whether the function concaves up or not, I might have to find the second derivatives of all directions and check if they are all positive, but it seems almost impossible without computer. 
I understand the way to find where a graph concaves up , given a direction. But isn’t there a way to find a global property of a graph, i.e. without thinking of direction. 
I’m so sorry if my questions isn’t clear.
Thank you 

A:

A $C^2$ function $f: U \subseteq \mathbb{R}^n \to \mathbb{R}$ defined on a convex domain $U$ is convex if and only if its Hessian matrix is positive semidefinite for all points in $U$. Similar conditions exist for concavity. Check here for more information (more precisely, look at page $5$).
I think $U$ doesn't necessarily have to be a convex set, maybe only being a star-shaped set suffices for this theorem to work.
If you want to look at the behavior of $f$ at a certain $x$, take a small enough neighborhood $x\in V \subset U$ and consider convexity or concavity there. 

