• Title/Summary/Keyword: tensor calculus

Search Result 4, Processing Time 0.017 seconds

On the History of the Birth of Finsler Geometry at Göttingen (괴팅겐에서 핀슬러 기하가 탄생한 역사)

  • Won, Dae Yeon
    • Journal for History of Mathematics
    • /
    • v.28 no.3
    • /
    • pp.133-149
    • /
    • 2015
  • Arrivals of Hilbert and Minkowski at $G\ddot{o}ttingen$ put mathematical science there in full flourish. They further extended its strong mathematical tradition of Gauss and Riemann. Though Riemann envisioned Finsler metric and gave an example of it in his inaugural lecture of 1854, Finsler geometry was officially named after Minkowski's academic grandson Finsler. His tool to generalize Riemannian geometry was the calculus of variations of which his advisor $Carath\acute{e}odory$ was a master. Another $G\ddot{o}ttingen$ graduate Busemann regraded Finsler geometry as a special case of geometry of metric spaces. He was a student of Courant who was a student of Hilbert. These figures all at $G\ddot{o}ttingen$ created and developed Finsler geometry in its early stages. In this paper, we investigate history of works on Finsler geometry contributed by these frontiers.

Three-Dimensional Field Equations, Equations of Motion, and Energy Functionals for Thick Shells of Revolution with Arbitrary Curvature and Variable Thickness (임의의 곡률과 변두께를 갖는 두꺼운 축대칭 회전 셸의 3차원적 장방정식, 운동 방정식, 에너지 범함수)

  • 강재훈;이은택;양근혁
    • Journal of KSNVE
    • /
    • v.11 no.1
    • /
    • pp.156-166
    • /
    • 2001
  • This work uses tensor calculus to derive a complete set of three-dimensional field equations well-suited for determining the behavior of thick shells of revolution having arbitrary curvature and variable thickness. The material is assumed to be homogeneous, isotropic and linearly elastic. The equations are expressed in terms of coordinates tangent and normal to the shell middle surface. The relationships are combined to yield equations of motion in terms of orthogonal displacement components taken in the meridional, normal and circumferential directions. Strain energy and kinetic energy functionals are also presented. The equations of motion and energy functionals may be used to determine the static or dynamic displacements and stresses in shells of revolution, including free and forced vibration and wave propagation.

  • PDF

Comparison of Deep Learning Frameworks: About Theano, Tensorflow, and Cognitive Toolkit (딥러닝 프레임워크의 비교: 티아노, 텐서플로, CNTK를 중심으로)

  • Chung, Yeojin;Ahn, SungMahn;Yang, Jiheon;Lee, Jaejoon
    • Journal of Intelligence and Information Systems
    • /
    • v.23 no.2
    • /
    • pp.1-17
    • /
    • 2017
  • The deep learning framework is software designed to help develop deep learning models. Some of its important functions include "automatic differentiation" and "utilization of GPU". The list of popular deep learning framework includes Caffe (BVLC) and Theano (University of Montreal). And recently, Microsoft's deep learning framework, Microsoft Cognitive Toolkit, was released as open-source license, following Google's Tensorflow a year earlier. The early deep learning frameworks have been developed mainly for research at universities. Beginning with the inception of Tensorflow, however, it seems that companies such as Microsoft and Facebook have started to join the competition of framework development. Given the trend, Google and other companies are expected to continue investing in the deep learning framework to bring forward the initiative in the artificial intelligence business. From this point of view, we think it is a good time to compare some of deep learning frameworks. So we compare three deep learning frameworks which can be used as a Python library. Those are Google's Tensorflow, Microsoft's CNTK, and Theano which is sort of a predecessor of the preceding two. The most common and important function of deep learning frameworks is the ability to perform automatic differentiation. Basically all the mathematical expressions of deep learning models can be represented as computational graphs, which consist of nodes and edges. Partial derivatives on each edge of a computational graph can then be obtained. With the partial derivatives, we can let software compute differentiation of any node with respect to any variable by utilizing chain rule of Calculus. First of all, the convenience of coding is in the order of CNTK, Tensorflow, and Theano. The criterion is simply based on the lengths of the codes and the learning curve and the ease of coding are not the main concern. According to the criteria, Theano was the most difficult to implement with, and CNTK and Tensorflow were somewhat easier. With Tensorflow, we need to define weight variables and biases explicitly. The reason that CNTK and Tensorflow are easier to implement with is that those frameworks provide us with more abstraction than Theano. We, however, need to mention that low-level coding is not always bad. It gives us flexibility of coding. With the low-level coding such as in Theano, we can implement and test any new deep learning models or any new search methods that we can think of. The assessment of the execution speed of each framework is that there is not meaningful difference. According to the experiment, execution speeds of Theano and Tensorflow are very similar, although the experiment was limited to a CNN model. In the case of CNTK, the experimental environment was not maintained as the same. The code written in CNTK has to be run in PC environment without GPU where codes execute as much as 50 times slower than with GPU. But we concluded that the difference of execution speed was within the range of variation caused by the different hardware setup. In this study, we compared three types of deep learning framework: Theano, Tensorflow, and CNTK. According to Wikipedia, there are 12 available deep learning frameworks. And 15 different attributes differentiate each framework. Some of the important attributes would include interface language (Python, C ++, Java, etc.) and the availability of libraries on various deep learning models such as CNN, RNN, DBN, and etc. And if a user implements a large scale deep learning model, it will also be important to support multiple GPU or multiple servers. Also, if you are learning the deep learning model, it would also be important if there are enough examples and references.