Wolfram Blog: Recent Episodes

None

News, Views and Insights from Wolfram

View Details

June 23, 1988 is when we launched Version 1.0 of Mathematica. Today—almost 38 years later—we’re launching Version 15 of what—in recognition of how far it’s expanded beyond “math”—we now call Wolfram Language. It’s an impressive release, with a lot of new core functionality. It might perhaps seem surprising that after 38 years there’d still be more to add. But it’s like the typical arc of intellectual history: the more one’s figured out, the further one can see, and the more one becomes able to do. And for all of us working on it, it’s been a very satisfying process: year after year building an ever taller tower of ideas and technology, with which we can reach ever further—today to all the functionality of Version 15.

View Details

The Erdős unit distance problem asks for the largest possible number u(n) of unit distances among n points in the plane. This is equivalent to finding maximally dense unit-distance graphs. A recent OpenAI announcement concerns the asymptotic problem: the old n^(1+o(1)) expectation is false.

View Details

In or out of school, the opportunities to learn and grow in your career are endless, and Wolfram is proud to bolster those with educational resources, from courses to textbooks. We are happy to share conversations with two authors whose books cover applications of Wolfram technology in astrophysics and geography, as well as highlight a few other recent book releases featuring Wolfram Language. Whether you’re building your summer reading list or prepping to wow interviewers, these titles are essential insights for real-world, computational STEM operations.

General Relativity: Analytic and Symbolic Problems with MathematicaGeneral Relativity: Analytic and Symbolic Problems with Mathematica was published by CRC Press in 2025. According to a review by Paolo Pani of the Sapienza University of Rome, the book “combines analytical rigor with the power of symbolic manipulation software to tackle a wide range of problems in Einstein’s theory of gravity. It offers a truly ‘hands-on’ approach to learning general relativity, guiding readers through both the conceptual and technical aspects of the subject while introducing advanced features of Wolfram Mathematica.” We discussed this new book with the author, Nicola Vittorio.

Could you tell us a bit about yourself?

I am an emeritus professor at the University of Rome Tor Vergata, where I taught relativity and cosmology for many years in the master’s program in physics at the physics department. My research focused on theoretical cosmology, particularly in making predictions about the formation and evolution of the universe’s large-scale structure. In this capacity, I served as a coinvestigator for the Planck mission of the European Space Agency. I have published 250 articles in refereed journals and authored the following textbooks: Cosmology (2020), An Overview of General Relativity and Space-Time (2022) and General Relativity: Analytic and Symbolic Problems with Mathematica (2025). Additionally, I have held the position of dean of the faculty of science at my university, served as president of the Association of Deans of the Italian Faculty of Sciences and been a member of the technical secretary of the Ministry for Education and Research.

Why did you decide to write this book?

In light of this experience, I decided to publish the Mathematica codes I developed over the years in a book. I have found that if students create their own version of the Mathematica notebooks, even by copying, they more quickly acquire the skills needed to effectively use the Mathematica software. However, for the convenience of both students and teachers, a significant fraction of these codes is available online.

What is a feature of your book that you’re most excited for your readers to experience?

I shared highly illustrative Mathematica notebooks with my class, which was quite diverse. The students came from various educational backgrounds—most had a bachelor’s in physics, while others had a bachelor’s in mathematics, and many were international students. Their interests varied; some were more focused on theoretical aspects, while others were interested in experimental results and astrophysical applications. Writing numerical codes helped students grasp the formal aspects of tensor calculus more easily. Additionally, being in a computer lab fostered collaboration among all students and created a strong team spirit within the class. Several Mathematica codes were developed to generate plots of different theoretical scenarios, such as the perihelion advance of Mercury or the shape of the horizons of a Kerr black hole. I found it particularly rewarding for students to create these plots themselves, rather than simply finding similar ones in a book.

Who do you want to see reading this book?

The book promotes a “learning by doing” approach. The lectures minimize abstract formalization and focus on problem solving, even for specific analytical derivations. This method effectively captures students’ attention and makes it easier to connect various problems and topics. Once the meaning and use of all necessary geometric objects are explained, Mathematica software, freely available to all students [at universities with site license access], is used to perform symbolic calculations. This approach has the advantage of bypassing lengthy and often tedious mathematical steps. For example, deriving Christoffel symbols or writing the Riemann tensor for different spacetime metrics is tackled quite easily by all the students in the class group. I found the results of this experiment quite encouraging. I am curious to see if this approach produces similar outcomes in other settings, which are characterized by different teaching methods and learning strategies. Therefore, feedback from instructors would be greatly appreciated.

What kind of general relativity problems does this book go over?

The book covers the traditional topics of general relativity and cosmology, which are usually part of a master’s-level physics course. The problems, both analytical and symbolic, include subjects like tensor calculus, metric geometry, covariant derivatives, geodesics and spacetime curvature. It also discusses the equivalence principle and the Einstein field equations. Furthermore, the book examines applications such as the classical tests of general relativity, linearized gravity with scalar and tensor modes, gravitational waves, Schwarzschild solutions, charged and rotating black holes, relativistic hydrodynamics and cosmology.

When were you first introduced to Wolfram Language and how has it changed your work?

A few years back, I mainly taught myself how to use it. My use of Mathematica grew a lot when I was working on the Cosmology book. The goal was to check long analytical calculations. I wouldn’t call myself an expert in Mathematica, but I have the basic skills necessary to get it to do what I need.

How do you see software like Mathematica being used for physics and astrophysics students?

As previously mentioned, the benefit lies in equipping students with numerical and symbolic tools that can be advantageous in other areas of their research and future careers. However, a word of caution is necessary with this approach. While students will become more efficient in the latter part of the course, they may initially encounter a “static friction” with programming, as not all students are familiar with it. Therefore, it is crucial to carefully balance the number of topics covered in the course with the numerical implementations of some of them, based on the average response of the class. Nonetheless, I have found that 48 hours of lectures and eight afternoons in a computer lab are more than adequate to cover most of the standard topics that define an introductory course in general relativity within a master’s program in physics.

Do you plan on writing any more books? And if so, what do you want them to focus on?

I will soon begin working on the second edition of my book Cosmology. In this second edition, I plan to use a similar approach by including Mathematica codes for solving different problems

Intelligence artificielle et Géographie avec le langage Wolfram Mathematica (Artificial Intelligence and Geography with Wolfram Mathematica)Intelligence artificielle et Géographie avec le langage Wolfram Mathematica by André Dauphiné was published by Éditions Universitaires Européennes in 2025. According to the book’s description, “[t]his book aims to introduce geographers to artificial intelligence using machine learning models… The second part presents the Wolfram Mathematica programming language. How can machine learning models be created to answer geographical questions?” We discussed the new book with Dauphiné.

Could you tell us a bit about yourself?

I am a retired professor from Côte d’Azur University, where I directed a CNRS-affiliated laboratory. For four years, I was the director of humanities and social sciences at the Ministry of Higher Education and Research in Paris.

In one sentence, how would you describe your book to the layman?

An introduction to artificial intelligence with original application exercises developed in Mathematica for geographers.

What is your goal with writing this book?

To show how, with very simple programs, artificial intelligence can address very different geographical questions (forecasting, recognition of territorial structures, etc.).

Who do you want to see reading this book?

This book is aimed at master’s students, then at young researchers and established geographers who want to discover machine learning.

What made you want to focus on Mathematica in your book?

I’ve been using Mathematica since Version 3. Besides its conciseness and user support, I appreciate the integration of so many modules into a single software program.

What do you think is the most exciting use of artificial intelligence using machine models in geography?

Artificial intelligence is a very powerful tool for forecasting in risk assessments, whether they concern climate events, transportation accidents in a city or even urban unrest. Thus, artificial intelligence is becoming an indispensable tool in land-use planning and environmental impact assessments.

How do you see artificial intelligence affecting geographers and their work?

The combination of artificial intelligence and big data allows us to address questions that enable us to derive laws from a very large amount of data. This should promote geographical studies on a global scale.

What is theoretical geography and how does machine learning relate to it?

Theoretical geography aims to understand territorial organizations at all time and space scales to find laws that apply to territories that are more or less close. For example, the center-periphery rule can be observed at the scale of a village, a state or the world. It is a multifractal law.

Do you see yourself writing another book in this same vein?

Not on this topic, but rather on multiscale geographical systems using recurrence, wavelet, entropy and fractal models…. Mathematica allows us to use all these forms of modeling.

What Else Is New?Polynomial Diophantine Equations: A Systematic Approach

Bogdan Grechuk published Polynomial Diophantine Equations: A Systematic Approach with Springer in 2024. This book describes a new approach to the study of Diophantine equations. This new approach makes it widely accessible by those with high-school knowledge of mathematics. Springer describes the intended audience for the book as “undergraduate students, for whom the book will serve as an unusually rich introduction to the topic of Diophantine equations” while also stating that it will be useful for graduate students, PhD students and researchers as a source of “fascinating open questions of varying levels of difficulty.” This book earned a Featured Contributor Badge on Wolfram Community, where it was originally written in a Wolfram Notebook with many examples and solutions using Wolfram Language.

Short Lessons on Wolfram Language: Programming, Data Processing, Graphics, Machine Learning, and Quantum Computing with Mathematica

Jarosław Miszczak published Short Lessons on Wolfram Language: Programming, Data Processing, Graphics, Machine Learning, and Quantum Computing with Mathematicain 2024. This book’s main purpose is “to introduce the basic concepts required to start using Mathematica.” If you are a new user of Wolfram Language, this book is meant for you. Miszczak presents guides to using Wolfram Language across different disciplines and showcases how to use these tools in a brief overview to machine learning and quantum computing. An interactive excerpt from one of the book’s quantum lessons is available on Community, where it was awarded a Featured Contributor Badge.

An Introduction to Wolfram Mathematica for Civil Engineers

Malcolm Woodruff’s An Introduction to Wolfram Mathematica for Civil Engineers offers a graceful introduction to Wolfram Language for engineers who may not have been exposed to it in their training and profession. Woodruff describes Wolfram as a “cost-effective tool that should be in every engineer’s toolbox.” The book starts with setting up industry standard units and symbols and ends on using native finite element modeling (FEM). You can get a free copy of the book on the Wolfram Notebook Archive.

Fundamental Concepts of Probabilistic Seismic Hazard Analysis

Frank Scherbaum’s Fundamental Concepts of Probabilistic Seismic Hazard Analysisearned him a Featured Contributor Badge on Community and is available for free on the Notebook Archive. The book was developed from Scherbaum’s professional and teaching experience in probabilistic seismic hazard analysis. Using Wolfram Language to illustrate real-world examples, he focuses on concepts, rather than procedures, to emphasize getting to know seismic hazard analysis on a deeper level.

Analysis with Mathematica and Applied Linear Analysis for Chemical Engineers

Rounding out our coverage of new Wolfram Language books, we would like to point toward two titles we have covered in previous posts that have new second editions available. Check out Analysis with Mathematica by Galina Filipuk and Andrzej Kozłowski and Applied Linear Analysis for Chemical Engineers by Vemuri Balakotaiah and Ram R. Ratnakar.

| | |

If you’re interested in finding more books that use Wolfram Language, check out the full collection. If you’re working on a book about Mathematica or Wolfram Language, contact us to find out more about our options for author support and to have your book featured in an upcoming blog post!

View Details

Every semester or two, students ask me about the implications of re-compression, especially of JPEG files.

Compression comes in two main kinds—Lossless, which is completely invertible, meaning you get exactly what you put in when you decompress, and Lossy which ‘throws out’ things deemed unimportant in some way, so that when you decompress, you get something that is almost the same and is usually good enough.

View Details

I am writing a novel. It’s a historical fiction thing. Apparently, that means I need to do a lot of research on what life was like in the 1920s.

My problem last night was, my character moves to Boston from Chicago, and in order to give the city texture, we need to introduce characters, buildings, streets and so on in a way that feels real. The thing about Boston, especially the West End where he goes, is that it’s changed dramatically in the last 100 years. There was a massive urban revitalization project in the 50s and 60s which essentially bulldozed the entire area. So none of the streets or buildings are even remotely similar on a map now to what my character would see walking around.

View Details

“The cat’s out of the bag,” said the mathematician Andrew Granville, reflecting on the rapid improvement of AI systems. His phrase captures the mood of the moment: by 2025-26, large language models (LLMs) had become powerful enough to move from impressive demonstrations to serious mathematical and scientific use. AI systems reached gold-medal level at the International Mathematical Olympiad, while newer research workflows began using LLMs together with symbolic tools to explore large mathematical spaces and even help resolve some open problems [1-5]. Many mathematicians now see this as a turning point: AI is becoming ready for “prime time” as a research companion in mathematics, physics, and related sciences – helping researchers test ideas rapidly and discover connections that might otherwise remain hidden.

View Details

This tutorial is a follow-up to a recent post by the author herself about archeoastronomical modeling of Central European Neolithic Circular Ditches [1], or roundels, with Wolfram 3D graphical primitives. Here, the focus will be instead on the use of mesh-based primitives from computational geometry to build a realistic 3D model of a roundel recently excavated in Vinoř, a northeastern outskirt of Prague (Czech Republic). This roundel has a diameter of 55 m, with ditches 3.2 m wide and 1.7 m deep and three entrances, which is quite unusual for Central European ditches [2].

View Details

The Laplace transform is such an effective tool for solving problems in the fields of science and engineering—it’s one of the main tools available for solving both ordinary differential equations (ODEs) and partial differential equations (PDEs). I’m excited to announce that the notebook version of Laplace Transforms in Theory and Practice: A Computational Approach by Hrachya Khachatryan is now available as a free download from Wolfram Media for all the world to learn this beautiful subject.

In this book, we dive deep into:

  • The theory behind the Laplace transform
  • Practical applications, both in and out of the classroom
  • Wolfram Language’s Integrate, LaplaceTransform and InverseLaplaceTransform functions

The contents of the book are based on the Wolfram U course Introduction to Laplace Transforms, which is available for free as an interactive video course.

A Quick Look into Laplace Transforms in Theory and PracticeThis book can be used by undergraduates as a textbook for a formal course on Laplace transforms or as supplementary material for such a course. The book also contains more advanced material (e.g. chapters on asymptotic expansions of the Laplace transform and numerical inverse Laplace transforms), which can be beneficial for both graduate students and researchers. We have tried to keep the book self-contained; however, some prior knowledge of calculus and complex analysis is required for a better understanding of the book.

The 25 chapters presented here are organized into three sections to study the theory and applications of the Laplace transform. The first and second sections introduce the Laplace transform and its inverse, respectively, covering essential properties, such as linearity, scaling, translation theorems and the convolution theorem. We also explain methods for evaluating Laplace and inverse Laplace transforms, including the Bromwich inversion formula for the inverse transform, asymptotic expansion methods, numerical methods and more. The third section is dedicated to applications of the Laplace transform in differential equations (ODEs, PDEs, integral equations, fractional differential equations) across various fields of physics and engineering. Engineers will find this section useful for studying control systems.

The powerful symbolic and numerical computational capabilities of Wolfram Language, along with its robust visualization tools, provide an ideal environment in which to study this subject.

Many examples and exercises are included to help the reader understand and apply the practical side of Laplace transform theory. The included examples use simple arguments to keep the focus on mastering essential concepts rather than sophisticated proofs. Solutions to exercises are presented at the end of each chapter. The final chapter, “Laplace Transforms in a Nutshell,” summarizes the book as a neat study guide for readers. The book also includes a sample exam covering most of the chapters and a table of Laplace and inverse Laplace transforms.

Following the success of Essentials of Complex Analysis: A Computational Approach by Marco Saragnese, this book continues the Wolfram eTextbook Series in tackling typically abstract and pure mathematics with Wolfram Language tools. Expect more books in this series on advanced topics soon, including Special Functions from Theory to Application: A Computational Approach by Tigran Ishkhanyan in the next few months. Also keep an eye on Wolfram social channels and our series webpage for opportunities to sign up for more prerelease editions of forthcoming books in the series. For more information, please contact publishing@wolfram.com.

| Check out more books featuring Wolfram Language and other Wolfram technologies on the Wolfram Books page or contact Wolfram Media with your own publishing ideas. |

View Details

A single two-input gate suffices for all of Boolean logic in digital hardware. No comparable primitive has been known for continuous mathematics: computing elementary functions such as sin, cos, sqrt and log has always required multiple distinct operations. Here I show that a single binary operator, eml(x,y)=exp(x)-ln(y), together with the constant 1, generates the standard repertoire of a scientific calculator. This includes constants such as e, pi and i; arithmetic operations including addition, subtraction, multiplication, division and exponentiation as well as the usual transcendental and algebraic functions.

View Details

In silico medicine, particularly through the use of finite element simulations, is revolutionizing patient-specific healthcare, especially in the musculoskeletal system. By creating detailed computational models of individual anatomy, finite element analysis enables precise simulation of biomechanical behavior under various conditions. This approach allows for personalized treatment strategies, offering predictive insights into how specific interventions—such as surgeries, prosthetics or rehabilitation plans—might affect the patient’s musculoskeletal health. Unlike traditional experiments such as in vivo or in vitro, in silico medicine refers to simulations where the experimental environment is recreated within the processor.

The term in silico comes from the main component of computers: the processor, which is made of silicon. With these simulation techniques, such as finite element simulations, it is possible to reduce the need for invasive procedures and physical testing by providing a noninvasive, cost-effective and highly detailed method to explore the complex interactions within structures like tendons, joints and bones. This innovation is paving the way for more effective, individualized treatments and a deeper understanding of biomechanical health.

In this example, we will explore a detailed demonstration of a finite element uniaxial test experiment applied to a tendon structure. The geometry, derived from medical imaging, highlights patient-specific outcomes. For simplicity, we will start with the anatomical database available in Wolfram Language:

The process begins with geometry analysis, accommodating both STL-like meshes and volumetric images commonly produced by clinical diagnostic imaging techniques. Following this, we will assign material properties to the tendon structure and simulate a load-bearing experimental scenario, focusing on its behavior during a uniaxial tensile test. This approach demonstrates the workflow for integrating patient-specific data into biomechanical simulations.

Calcaneal Tendon and Virtual PatientThe calcaneal tendon, or Achilles tendon, is the strongest and largest tendon in the human body, connecting the gastrocnemius and soleus muscles of the calf to the calcaneus (heel bone). It plays a vital role in enabling plantarflexion of the foot, a movement essential for walking, running and jumping. This tendon is capable of withstanding tensile loads of up to 12.5 times body weight during high-impact activities, such as running or jumping, and has an elastic modulus ranging from 1.2 to 2.0 GPa, allowing it to store and release energy efficiently. Typically, the tendon can tolerate strains of up to 8–10% before failure.

The Achilles tendon is prone to pathologies caused by overuse, acute trauma and age-related degeneration. Chronic overuse often leads to Achilles tendinopathy, characterized by pain, swelling and impaired function due to repetitive microtrauma. Sudden, forceful movements in sports can result in tendon ruptures, particularly in middle-aged individuals with diminished elasticity. Insertional tendinitis, inflammation near the tendon’s attachment to the heel, is another common issue, exacerbated by biomechanical stressors like Haglund’s deformity or improper footwear. Aging further reduces tendon elasticity, increasing susceptibility to microtears and ruptures, while overloading and biomechanical imbalances, such as overpronation, unevenly distribute stress, heightening the risk of injury.

In this context, in silico medicine plays a crucial role in clinical scenarios. By using computational models tailored to individual patients, clinicians can simulate the biomechanical behavior of the Achilles tendon under various conditions. This approach enables the prediction of injury risk, optimization of treatment strategies and design of personalized rehabilitation plans, all while reducing reliance on invasive procedures. The integration of in silico methods into clinical practice enhances our ability to address the complex challenges of Achilles tendon pathologies and improve patient outcomes.

The following example is structured into multiple sections. First, the “Imaging” section outlines the transformation of medical images into a virtual representation of the patient, utilizing several anatomical marker points. Next, the image is converted into a mesh, a structure suitable for finite element analysis (FEA). Finally, multiple FEAs are performed to examine the mechanical behavior trends and the impact of the pathology.

ImagingThe standard approach to patient-specific biomechanical assessment begins with medical imaging:

While handling the various medical image formats is beyond the scope of this text, all formats can be converted into grayscale volumetric images, where a specific threshold can be set to highlight the relevant tissue regions. To provide a broadly applicable example, we will start with the tendon morphology obtained from the AnatomyData of the anatomical structure entity in Wolfram Language:

  This image showcases the volume rendering of the tendon, closely resembling the images produced by medical scans such as CT or MRI.

Next, we can convert this volumetric representation into a mesh suitable for FEA. The goal is to generate a mesh that is both sufficiently accurate and computationally efficient, balancing detail with a reasonable number of elements.

To achieve this, we can use the ImageMesh function with different methods. However, in all cases, the resulting mesh retains characteristics tied to the resolution of the original volumetric image. This is a common challenge when converting clinical images from medical equipment into digital models suitable for numerical computations:

A more effective approach involves analyzing the mesh structure in terms of its points. These points, now serving as markers on the tendon surface, can then be refined using smoothing algorithms, alternative meshing techniques or, given the tendon’s shape, a surface lofting approach to create a more structured representation.

Anatomical MarkersAt this stage, it becomes clear that we can identify multiple contour lines at the same height, which can be utilized to construct a lofted surface:

The approach follows these key steps:
  1. Define a fixed number of slices: Establish evenly spaced cross sections along the tendon’s height.
  2. Extract points for each slice: For each cross section, collect all points at the corresponding height.
  3. Generate contour lines: Create a line that interpolates through the extracted points for each slice.
  4. Construct the loft: Connect the sequence of contour lines to form a smooth 3D lofted surface.

This method enables a structured and refined surface representation, improving the accuracy and smoothness of the final mesh while maintaining anatomical fidelity.

For convenience, let’s start with a rotation of the tendon to align it with a more intuitive coordinate system:

      From Imaging to a Computational MeshBefore creating the loft, we need to clean up the data. First, let’s ensure that each slice is precisely aligned along the loft’s direction (*x* coordinate):

As the second step, we need to ensure that each slice forms a closed loop, with points ordered sequentially to maintain a consistent structure:

Now, we aim to extract a reduced set of points to simplify the final mesh while maintaining an illustrative example. To achieve this, we will select a small number of marker points, ensuring a relatively simplified yet structured representation.

Additionally, we must ensure alignment of extracted points across all slices. To do this, we:

  1. Start from the first slice and select points based on uniform angular distribution.
  2. Translate the slice to the origin, which can facilitate alignment and ensure consistency.
  3. Use a dynamic visualization element to interactively inspect and refine point selection.

This approach helps maintain geometric coherence while effectively reducing computational complexity:

This allows us to extract points that are aligned relative to the first slice:

Now, we have two sets of lines forming a grid that covers the tendon. This structured representation can be used to generate a mesh using OpenCascade, ensuring a well-defined and smooth surface reconstruction:

  Let’s now ensure that each line forms a closed loop, maintaining continuity and consistency across the structure. This step is essential for generating a well-defined surface mesh:

We can proceed to generate the lofted surface using OpenCascadeShapeLoft:

Finally, we can mesh the lofted surface into a solid tetrahedral mesh, ensuring a volumetric representation suitable for FEA. This step converts the structured loft into a watertight 3D model, enabling accurate biomechanical simulations and structural assessments:

Finite Element AnalysisWe aim to compute the stress and strain distribution within the material by simulating the mechanical stretching of a tendon. In this scenario, one end is fixed, while a load is applied to the opposite end. Physiologically, a tendon can experience forces exceeding 10 times the body weight.

The framework for structural FEA makes use of the SolidMechanicsPDEComponent, which is well described in the Solid Mechanics monograph. Let’s extract the coordinates of the two boundary sides, along with the load direction, which can be reasonably assumed to align with the tendon’s principal axis:

    The typical loading scenario for the tendon involves a tensile load applied along its longitudinal direction, which can be represented by fixing an extremity and pulling the other one.

Tendons exhibit relatively high stiffness, which is often modeled using a Neo-Hookean hyperelastic model with a shear modulus with a typical range of 0.1–1 GPa:

The mechanical problem can be conveniently formulated using the SolidMechanicsPDEComponent function. Given the high nonlinearity of the problem and the large strains involved, we set up a parametric solver that depends on a load factor *k* (ranging from 0 to 1). This allows for a gradual increase in the applied load, ensuring better convergence while solving the problem:

    To minimize the nonlinearities of the problem, a parametric solver can be configured to gradually increase the load. This approach is thoroughly explained in the Hyperelasticity monograph:


As shown in the following figure, the tendon is stretched along its principal direction, exhibiting a displacement with a stretch ratio of up to 200%:

This image illustrates the final deformed configuration resulting from the applied load. The gray-shaded geometry represents the undeformed tendon. Additionally, the deformed geometry is color-coded based on the equivalent strain, which is highest in the central region and gradually decreases toward the boundaries:

But what happens in the case of pathology? How does the mechanical response change when structural integrity is compromised?

Before investigating pathological conditions, we must account for the fact that tendons are highly transversely isotropic, with a significant load-bearing contribution from collagen fibers (which constitute up to 80% of the tendon structure) aligned along the loading direction.

Typically, this collagen fiber network exhibits a stiffness up to 20 times higher than the surrounding matrix, which is composed of elastin, cartilage, proteoglycans, inorganic components and other extracellular matrix elements. This strong anisotropic behavior plays a crucial role in the tendon’s mechanical response and load distribution:

Tendons are primarily composed of type I collagen fibers, which are highly organized and aligned along the loading direction. This fiber-reinforced structure enables tendons to efficiently transmit forces from muscles to bones while withstanding high mechanical loads—often exceeding 10 times body weight during intense physical activity.

The collagen matrix works in conjunction with proteoglycans, elastin and other extracellular components, contributing to the tendon’s viscoelastic behavior, allowing it to store and release energy efficiently. In pathological conditions, such as tendinopathy, collagen degradation and disorganization can lead to weakened mechanical properties, increasing the risk of injury or rupture:

Geometry SimplificationBefore further investigating the influence of collagen fibers, let’s simplify the geometry to enhance computational efficiency. We can achieve this by extracting a 2D representation of the tendon by taking a cross-sectional slice from the 3D model:

  The figure displays the 3D structure of the tendon along with a box highlighting its bottom half. This setup allows for a precise mid-section slice, enabling a clearer view of the internal structure:

Note that the intersection points are not evenly distributed, which may affect mesh quality. To ensure the best possible mesh, we need to remove points that are too close to each other, preventing overly small elements and improving numerical stability:

Before meshing, it is advisable to standardize the points. Specifically, by applying a threshold, we can filter out nearby points, ensuring a higher-quality mesh:

    To better apply the pulling force, let’s consider a general uniaxial strain experiment, where the pulled side is clamped to a rigid support (i.e. a material with significantly higher stiffness compared to the tendon). This setup ensures a well-defined boundary condition, mimicking realistic loading conditions. Geometrically this can be identified as a triangle. So we can mesh the geometry:

As a result, we obtain a planar mesh with good quality. The mesh consists of two distinct domains: the tendon (red) and the pulling clamp (gray), each assigned different material properties.

Collagen Fibers’ InfluenceTendons can be viewed as fiber-reinforced materials, where the primary load-bearing components are the fibers, which exhibit significantly higher stiffness compared to the surrounding matrix:

  This figure displays the deformed mesh, color-coded based on first principal stress. As observed, stress is particularly high in the central bottom region and gradually decreases towards the extremities. This distribution is influenced by both the thinning of the central region and the higher curvature in the bottom area, which, under the horizontal pulling load, experiences significant mechanical stress.

Pathology and Collagen DamageFrom a mechanical perspective, tendon pathology is often characterized by a reduced ability of collagen fibers (the main load-bearing component) to transmit forces effectively. This degradation can lead to conditions such as tendinosis, tendinitis or even rupture, depending on the severity of the lesion, as detailed in studies from Arya and Kulig, 2010; Yin et al., 2021; and Freedman et al., 2014:

Mathematically, this can be represented as a localized alteration of the mechanical properties within a specific region of the tendon. This may include changes in stiffness, elasticity or failure thresholds, affecting the tendon’s overall ability to sustain loads:

  As previously mentioned, fibers play a crucial role in the stiffness and load-bearing capacity of tendons due to their widespread distribution and significantly higher stiffness (up to 20 times greater than other components). Now, let’s investigate their influence on the tendon’s mechanical behavior using the simplified 2D mesh:

  The plot illustrates the undeformed planar section of the tendon along with the fiber distribution, which is predominantly aligned along the longitudinal direction. The rainbow colors represent the damage properties, with the highest concentration (red) located in the central bottom region. This directly correlates with a reduction in mechanical properties, affecting the tendon’s structural integrity:

    The relaxation of pathological fibers is clearly observed in the displacement field, with the pulled side exhibiting noticeable rotation. But how does this affect strain and stress distribution?

Both stress and strain play a critical role in injury risk and the progression of inflammation, making their evaluation essential for understanding the mechanical implications of tendon pathology:

    This figure illustrates how, due to the pathology, the stress is significantly higher in the bottom region. Additionally, the final deformation on the right side is more pronounced compared to the healthy case. Furthermore, it allows for a direct comparison of stress distribution between the healthy and pathological cases, highlighting the impact of the condition on the tendon’s mechanical behavior:

As we can see, stress slightly increases in the upper region, while it slightly decreases on the bottom side. Note also the increase near the damaged region. These effects warrant further investigation, particularly in relation to pathology progression.

Curious about the technical details? You can find all the relevant information on FEM and structural modeling on the PDEModels Overview reference page.

However, for a deeper analysis, you’ll have to stay tuned for the next post!

View Details

It’s time to answer the question on any breakfast-lover’s mind: “How long do I boil an egg?” While it seems so simple—place an egg in boiling water and wait—it would be remiss to say a fully hard-boiled egg is the only way to enjoy a delightful protein boost. We can use the finite element method (FEM) to simulate the conditions of an egg in water and find the ideal temperature and duration for the perfect egg by assessing temperature changes within the egg itself. We can then predict how long it takes to reach various consistencies, such as a runny yolk or a crumbly, fully set yolk.

Modeling complex physical systems often starts with breaking them down into manageable parts. That’s exactly what FEM does: it divides a complicated structure into smaller, simpler elements; solves the governing equations locally; and then assembles the results to capture the behavior of the whole system.

This approach makes it possible to simulate and analyze real-world scenarios without the cost and effort of physical prototypes. Here we’ll introduce the workflow of finite element analysis in Wolfram Language and walk through a simple example that covers the basics and highlights common issues that can come up along the way.

Our goal is to provide a general understanding of how to numerically solve partial differential equations (PDEs) using FEM, along with a practical resource you can use to build your own models.

Why Use Finite Elements?Many PDEs (including classical equations like the Poisson or Schrödinger equations) don’t always have an analytical solution, especially if the region where we are trying to solve the equation is somewhat complicated. FEM is a valuable technique to solve PDEs numerically for at least two reasons: First, you can solve PDEs on arbitrarily shaped regions. Second, you can solve many types of differential equations, from the Laplace equation to Navier–Stokes equations.

Tools Needed for Finite Element AnalysisTo solve a PDE with FEM, we need three things:

  • A region that gets discretized into a mesh. This mesh consists of many small, simple subregions called elements. The key idea of FEM is to solve a simpler version of the PDE within each element and then combine these local solutions into a global solution that approximates the behavior of the original PDE over the entire region.
  • The specific PDE we want to solve.
  • Boundary conditions, which link the PDE to the world outside the region where the solution is being computed.

In Wolfram Language, FEM is implemented through the functions NDSolve, NDSolveValue and NDEigensystem, and we’ll be using NDSolveValue in our boiling egg scenario.

Version 1: Get a Workflow StartedWe’ll build our model step by step, going through several versions and increasing the complexity of the model incrementally. We will start with a simple model, keeping in mind the sizes of objects and the units.

The first step is to define the geometry or region of the structure. Because an egg has axial symmetry, we will assume that analyzing a slice of the egg is adequate to describe its behavior. For FEM, we need to discretize the region into a mesh, and because a two-dimensional mesh does not need as many elements to approximate the geometry as a three-dimensional mesh would, our calculation will take less time. This is an important reason for using an axisymmetric model.

An average egg can be about 5 cm in diameter and 2.5 cm in radius. Because it is best practice to use SI units for the model parameters, we’ll define the egg radius as 0.025 m. At this point, we are purposefully ignoring any difference between the material of the yolk and the egg white. Our goal is to make this early version of the model as simple as possible.

Load the Finite Element package:

We’ll also set $HistoryLength to 0, which limits the number of previous results stored in the session to zero, saving computational memory at minimal cost.

Set $HistoryLength to 0:

Create a simple geometry of an egg:

Also, we use ToElementMesh to generate a default finite element mesh from the geometry we’ve just created.

Generate the element mesh:

Visualize the finite element mesh:

To model PDEs in Wolfram Language, we use what are called PDE components, which are building blocks that help us specify the PDEs. These are functions that take in variables and parameters and return a PDE operator that can then be used with NDSolveValue. You can access the list of all the PDE components for any specific field. To study temperature evolution inside the egg, we’ll use HeatTransferPDEComponent to model the heat transfer over time.

The solution we are seeking, the dependent variable, is the temperature T (kelvin). For our cylindrical symmetry, we have two spatial independent variables: ris the radial coordinate (distance from the central axis) and z is the axial coordinate (distance along the axis of the cylinder). Both are expressed in meters. Because the boiling of an egg depends on time, we’ll also need the time variable t (seconds).

Set up the dependent and independent model variables:

We also need the parameters. For our first, simplified version, we’ll only specify the region symmetry as axis symmetric, and that will give us the correct terms for the egg slice we are focusing on. HeatTransferPDEComponent will fill the rest of the necessary parameters with default values, and that is fine for now.

Set up the parameters:

Next, set up the PDE operator. Here, op is the PDE operator—it’s just the left-hand side of the heat equation. So when we write op == 0, we’re really just writing the heat equation itself.

Set up the PDE operator:

Boundary ConditionsInitial and boundary conditions are important parts of PDE modeling because they contain information on the underlying physics of the process taking place. Boundary conditions specify the behavior of the solution on the boundaries. In this scenario, an important boundary condition is the outside of the egg, which is subject to the temperature of the surrounding boiling water. The initial condition is the starting temperature of the egg—whether the egg has been refrigerated or stored at room temperature.

Assuming the egg is at room temperature, we will use 20°C for our initial condition at time 0, then convert it to the SI base unit of kelvins.

Define the initial temperature in kelvins:

Set up an initial condition for the temperature inside the egg:

It is important to remember that boundary conditions and initial conditions must be consistent. One could be tempted to just set a temperature of 100°C to the outside of the region, representing the contact with the boiling water. While that is not entirely wrong, it has a problem. By our initial condition, all of the domain has an initial temperature of 20°C, even at the external boundary. Therefore, setting the outside boundary to 100°C contradicts that.

To avoid that in our scenario, we use a smooth step function that starts at the initial temperature and quickly gets up to the boiling temperature of 100°C. This is effectively modeling the act of putting the egg into the boiling water, which is a process on its own.

Specifically, we define the boundary condition using a piecewise function that equals 1 for times greater than one-tenth (1/10) of a second. For shorter times, it increases gradually, following a cosine function. Plotting the function makes this behavior clearer. This models the boundary temperature rising quickly—but smoothly—within the first 1/10 of a second after the egg is immersed in boiling water.

Specify the boundary temperature in kelvins:

Specify the temporal behavior of the boundary condition:

Visualize the temporal behavior of the boundary condition:

Now, we could simply define a DirichletCondition, which sets the value our dependent variable will have at the boundary:

But we will do something different that will be useful in subsequent versions of this model.

Visualize the point element marker:

Our mesh visualization displays the point elements and element markers (see the Element Mesh Visualization tutorial for more information). We will take advantage of this to define the boundary condition.

With the help of HeatTemperatureCondition, we define a Dirichlet boundary condition. To specify the boundary, we take a look at the boundary element markers shown in our mesh. The boundary that will be in contact with water is labeled 2 and 3. Therefore, the boundary element markers are all but ElementMarkers == 1. So, we specify ElementMarkers != 1.

One advantage of using the function HeatTemperatureCondition is that it will take into account the parameters that we have defined.

Specify the boundary condition in kelvins:

Next, at the axis of symmetry, specify a symmetry boundary condition. We can do that with the HeatSymmetryValue function.

Specify the symmetry condition:

Notice that this evaluates to a Neumann zero value. If you need a refresher on Neumann values, check out these sources in the documentation:

  • Solving Partial Differential Equations with Finite Elements
  • NeumannValue

A Neumann zero value, in simple terms, indicates that the derivative of the temperature, taken normal to the axis of symmetry, is zero. Also, a Neumann zero value is the default if none is specified. Therefore, we will be omitting this for the following versions of this model. But it is useful to have that in mind.

Finally, we define how long the simulation time will be. As this is a simple first version, and we have used the default parameters for our PDE, we define a time of one second, which we will update later.

Define the simulation time:

To get our solution, we use NDSolveValue.

Compute the solution and store it in a variable:

Notice how it is specified. The operator op is our PDE defined earlier. Also, sym represents the symmetry condition, which we write as the right-hand side of the equation, but it is just a way of specifying the symmetry condition and Neumann values in general. Next in the list are the boundary condition and initial condition. I encourage you to look at the NDSolveValue documentation, which has many useful examples.

Inspect the solution:

We get an interpolating function that represents our solution, which we can later plot to visualize the solution.

Inspect the value for the solution at T = 0 at half the radius:

Call MinMax on the solution’s values:

Calling "ValuesOnGrid" gives the function values at each mesh coordinate. Then we can extract the minimal and maximal values from the solution.

To make this easier to interpret, let’s transform the temperatures to degrees Celsius, but the parameters going into the model will still need to be defined in kelvins. So let’s define an offset to convert between degrees Celsius and kelvin more easily.

Define an offset:

Then we can simply visualize the solution with a ContourPlot. Visualize the solution at half the simulation time:

When we inspect the options for the ContourPlot function, we see that I use the minmax values in degrees kelvin for the PlotRange and ColorFunction, but I use the minmax values in degrees Celsius for the PlotLegends. This is to visualize the temperature in Celsius, which is easier to interpret than kelvin.

The plot seems to show that the whole region has a temperature of 100°C in just half the simulation time (0.5 seconds). To confirm that, let’s create an animation of the evolution of the temperature over time.

To save time later, we’ll go ahead and build a helper function for plotting.

Build a helper function to create contour plots of the temperature at various times:

We get the "ValuesOnGrid" from the solution and take the minimum and maximum for our plot range. Show is used to display not only the solution but also the "Edgeframe" of the mesh. This is especially useful when we have subregions, as we’ll see later.

We have created a function of the variable time, which gives us the plot for a particular time. We then can map that function over a list of times.

Some people prefer ContourPlot, but I like DensityPlot more. This is a similar definition following, but uses DensityPlot instead.

Define a DensityPlot version of the helper function:

Create a number of contour plot frames:

Rasterize the frames to make the notebook more lightweight (this is optional):

Animate the frames:

Here we choose a number of frames and divide the total simulation time into that number of frames, using Range to define a list of times. Then we map the helper function onto those times, resulting in a list of plots. Finally, we use ListAnimate to make an animation of all the frames.

The animation demonstrates that the entire region starts at the initial temperature and almost instantly heats up to 100°C (the temperature of the water), which doesn’t make much sense. But we didn’t expect this to be our final solution. For now, we know there are no errors or warnings in our simulation. This step was meant to get our workflow going—and that’s what really matters at this stage of the model.

Version 2: An Example of What Can Go WrongNow that our workflow is established, we start this next version by defining more realistic parameters instead of the ones that HeatTransferPDEComponent (the function used to generate the PDE) gives by default.

The heat equation includes three physical quantities that depend on the type of material we are modeling: density, heat capacity and thermal conductivity:

We will use estimates of the average values for both egg white and egg yolk to set the material parameters:

Inspect the parameters:

Set a realistic simulation end time of 10 minutes:

Regenerate the equations with the new parameters:

As we did before, solve the PDE:

So far, so good!

Let’s check the minimum and maximum values in the solution in degrees Celsius:

This is clearly wrong. A subzero temperature here doesn’t make any sense. Let’s plot the solution at the particular time it reaches that subzero temperature.

First, we must find the position in our region at which the minimum temperature value is located. By calling "ValuesOnGrid" on the solution, we can get all of the values of the solution, then use the Min and Position functions.

Find the position of the minimal value in the solution data:

By calling "Coordinates" on the solution and taking the first part, we get the time steps taken during the solution:

Find the time step at which the minimal value is stored:

In our badPosition variable, which is {{18, 386}}, the first number in the pair represents the index for the time at which our subzero value occurs. We can extract the problematic time by taking the eighteenth position in the time steps:

Now we can visualize the solution at that exact time.

Visualize the solution at the time step with the extreme values:

Here it is clear how early in the simulation there are a lot of oscillations near the boundary, and that’s the reason we are seeing extreme temperatures close to –2°C. The 3D plot displays overshoots and undershoots.

Let’s visualize that better with the element mesh. To do that, we make a projection of our 2D mesh into 3D with ElementMeshProjection. We use Show to display both the 3D plot for our solution at the problematic time and the element mesh.

Zoom in to the solution plot and visualize the underlying finite element mesh:

I encourage you to review the documentation for ElementMeshProjection to learn more about how to visualize a 2D mesh as 3D.

It is now clear that the undershoots are happening within a few elements from the boundary. But what could be causing these over- and undershoots?

Let’s find the minimal length of the elements in our mesh. We take the average area of the elements and, by using Sqrt, we get a number related to the edge length of each element. Then we take the minimum of that.

Get the minimal edge length of the mesh in meters:

The distance between elements is about 1 mm, which means that the first elements near the boundary have an edge length of about 1 mm. On the other hand, given that our initial temperature is 20°C and our boundary temperature is 100°C, the change in temperature between the boundary and the rest of the region is about 80°C.

Trying to resolve that abrupt change of about 80°C at the boundary with elements of that size is not sufficient. That is likely the reason we are getting temperatures that are far below the initial temperature, where there are not any heat sinks. Therefore, the mesh needs to be refined.

If we refine the whole mesh, it probably will solve our problem, but the refinement is not needed in the center of the egg. Refining the whole mesh now will slow the simulation, so it’s best to refine the mesh just near the boundary (the eggshell).

We will create a signed distance function first and, from that, use MeshRefinementFunction to redefine our mesh.

SignedRegionDistance gives us the distance to the boundary of a region from a specific point. It gives a negative value when we are inside the region and a positive value when we are outside it. In our case, we can define that for a Disk with the same radius as our “circular” egg.

Create a signed distance function of the whole egg region:

We can visualize the signed distance function and see how it decreases linearly as it reaches the boundary. This outcome makes sense, because the distance at the shell to the shell is predictably zero.

Visualize the refinement function over the meshed geometry:

Next, we create our refinement function, which takes the vertices of the mesh and its area and returns either True or False. If the output is True, a refinement will take place there; if False, it will do nothing.

Create the mesh refinement function:

Then we set the MeshRefinementFunction option inside ToElementMesh to our refinementFunction.

Redefine the mesh:

Next, we will use NDSolveValue to obtain the solution, but now we wrap the calling of the function with Monitor, which will help us inspect the time steps by printing the time variable during the computation. This will give us an idea of how long it will take to finish the whole computation. Monitor is used outside the call to NDSolveValue, and the EvaluationMonitor option is used inside NDSolveValue. This is particularly important when we refine the mesh, because it may take longer because of the refinement.

Solve the PDE and monitor the progress:

Inspect the temperature range of the newly found solution:

Great! Now we get a temperature range that we would expect. There will be, of course, a bit of numerical error intrinsic to the method—that is, the range will not be {20, 100} exactly. But this is promising.

We can proceed to create our animation as usual by calling the helper function we defined with our new solution, rasterizing the frames and then animating them.

Create the frames for the solution:

Rasterize the frames:

Animate the frames:

We can see that the over- and undershoots problem is solved. This demonstrates how important it is to check that our solutions make sense and how we can modify the mesh as needed.

At this point, we get a good idea of how the temperature spreads in the boiling of the egg. Let’s calculate the temperature at the center of the egg after six minutes of cooking.

Inspect the egg’s temperature at r = 0 and z = 0 after six minutes:

The result is 41.6°C. This value likely doesn’t represent the actual temperature of the egg yolk in a real egg, because we are currently making too many assumptions. However, it is a good reference for now.

In this version, we used a basic model that disregarded the existence of two different regions—the egg yolk and egg white. We will address that in the next version.

Version 3: Represent Multiple Material RegionsIn this version, we will consider two different regions by first defining the innerRadius, which is half of the outer radius. Then we can define two half-circles and use RegionUnion to create a single geometry.

Create a multi-material geometry:

Here we define material region markers in order to differentiate the parameters for the two regions later. This will make our code clearer, as we’ll see.

Specify material region markers:

We use the "RegionMarker" option to distinguish the two regions by assigning a different marker to each subregion. The option is given as a list of lists, where each inner list contains a point within the subregion and its associated region marker.

Create a mesh with material markers:

We can visualize it with different colors, by specifying "MeshElementStyle" in the "Wireframe" options.

Visualize the multi-material mesh:

Visualize the point element markers:

Since we changed the region, the element markers for the boundary also have changed. Therefore, we can redefine the boundary condition for markers 2 and 5.

Keep in mind that these are element markers for the boundary. They are different from the region markers we defined earlier. Don’t confuse the two.

Regenerate the boundary condition:

After visualizing the point element markers, we redefine the mesh by specifying the mesh refinement function as before.

Create a mesh with material markers and a mesh refinement:

Visualize the refined multi-material mesh:

Great result! But before solving the problem, we will redefine the parameters for each material, using estimates of the average values for mass density, thermal conductivity and heat capacity for egg yolks and egg whites based on the findings of “Density, Heat Capacity and Thermal Conductivity of Liquid Egg Products.”

To specify the material parameters, we use the Piecewise function for each physical quantity:

Then we can regenerate and solve the PDE as we did before.

Regenerate the partial differential equation:

Solve the PDE:

Inspect the temperature range of the new solution:

The resulting temperature range is reasonable. Let’s visualize the solution.

Create the frames for the solution:

Rasterize the frames:

Animate the frames:

Here we see even heating of the egg, similar to our last version with only a single region. However, this version is more accurate because we have a better model of the real structure of the egg.

Inspect the egg’s temperature at r = 0 and z = 0 after six minutes:

In this solution, the temperature result of 38°C again seems too low for the given time. In fact, this temperature is even lower than the previous result of about 42°C.

We need a way to know which parts of the egg are cooked after a given time.

Version 4: Refine the Model FurtherIn this version, we will refine the data used for the physical quantities involved in the model. We will also predict whether the egg is cooked by comparing the results with the denaturation temperatures of the egg yolk and egg white (i.e. the temperatures at which egg proteins begin to unfold and solidify).

To refine the physical quantities (density, heat capacity and thermal conductivity), we will rely on the data provided by these two studies:

  • Coimbra et al., “Density, Heat Capacity and Thermal Conductivity of Liquid Egg Products,” Journal of Food Engineering, 2006
  • Abbasnezhad et al., “Thermophysical and Rheological Properties of Liquid Egg White and Yolk During Thermal Pasteurization of Intact Eggs,” Journal of Food Measurement and Characterization, 2025

In the previous version, we had good estimates of the physical quantities for both the egg yolk and egg white. But in reality, those quantities may change over time as the egg heats up. A better model is one that takes into account how these quantities vary with temperature.

Using data from the studies mentioned previously, we will set up pairs of temperatures and the corresponding physical quantity (in SI base units). Our goal is to model each physical quantity (density, thermal conductivity, heat capacity) as a function of temperature.

Let’s start with density. Notice that there is a density data definition for both the egg yolk and egg white.

Set up measurement data for the mass density of the egg yolk and egg white:

With that, we can create two interpolating functions, one for the yolk and one for the white, using Interpolation.

Create an InterpolatingFunction for the mass density data:

The "ExtrapolationHandler" option is used to handle points that fall outside the range of our available data. Our data is not perfect and does not cover the entire range of temperatures. Since properties like density vary almost linearly, extrapolating from the existing data provides a reasonably accurate approximation.

Visualize the measured data and the interpolated functions:

We can see how the density decreases as temperature increases. Although we don’t have temperature data beyond 335 kelvins, we do have a reasonable extrapolation from the data.

Now we repeat the same process for conductivity.

Set up measurement data for the thermal conductivity of the egg yolk and egg white:

Create an InterpolatingFunction for the thermal conductivity data:

Visualize the measured data and the interpolated functions:

We can see how conductivity increases slightly with temperature, and, again, we have a reasonable extrapolation of the data.

For the specific heat capacity, we have a slightly different approach. We have fewer data points, and the quality of the points is not as good as for the other two quantities. The optimal approach is to do a linear fit of the data, which will give us a linear function that best fits the data.

Set up measurement data for the heat capacity of the egg yolk and egg white:

Create a LinearModelFit for the heat capacity data:

To explore how the function works in more detail, refer to the LinearModelFit documentation.

Visualize the measured data and the linear function that fits it:

The plot displays a reasonable approximation of the data and a good extrapolation at higher temperatures.

Now that we have the functions for the physical quantities, we only need to specify them as piecewise functions, as we did before:

  Regenerate the partial differential equation:

An important consideration: mass density, thermal conductivity and heat capacity are now functions of temperature T. At the same time, T is the dependent variable for which a solution is sought. This mutual dependence means the coefficients in the equation vary with the solution itself, making the PDE nonlinear. Nonlinear models typically require more time and computational effort to solve. That’s why it’s often a good idea to start with an unrefined mesh while setting everything up. Once you get a reasonable solution, you can switch to a refined mesh for better accuracy. However, in this case, we’ll go ahead and use the refined mesh.

Since we haven’t changed the geometry or the boundary conditions, and we have only redefined our PDE operator with the new parameters, we can go ahead and solve the PDE. Here we use AbsoluteTiming to get the time spent on the entire calculation and MaxMemoryUsed to see how much computer memory it consumed.

Now we solve the PDE, monitor the progress and measure the computational time and memory it takes (around three minutes on a normal laptop).

Solve the PDE:

This increase in computation time is expected for most nonlinear models.

Inspect the temperature range of the newly found solution:

Before visualizing our solution, we will define the denaturation temperatures of the egg yolk and egg white. This will give us a good idea of whether the two regions of the egg are cooked at a certain point in time. These temperatures are from the Journal of Food Measurement and Characterization study cited earlier.

Set the denaturation temperature for the egg white:

Set the denaturation temperature for the egg yolk:

We can visualize the denaturation temperatures along with the animation of our solution. The best way to do that is a contour plot with a contour line that indicates the point in the region with the denaturation temperature.

I prefer the density plot, so here we define a new function called TemperatureDenatureDensityPlot, which calls the previously defined helper function TemperatureDensityPlot. We are using Show to display the plot as before, but with the contours for the denaturation temperatures of the egg yolk and egg white. The contours are plotted with an additional ContourPlot.

Build a helper function to create a density plot of the temperature distribution and visualize the denaturation temperatures:

Create the frames for the solution:

Rasterize the frames:

Animate the frames:

The denaturation temperature for the egg white is shown with the green dashed line, and the denaturation temperature for the egg yolk is shown with the magenta dashed line. The plot shows the diffusion of heat inside the egg, as we would expect.

At the six-minute mark, we can see that the whole egg white has surpassed its denaturation temperature. This is a promising result for our model.

However, if we look at the 10-minute mark, the whole region surpasses the egg white’s denaturation temperature, while part of the egg yolk has not surpassed the yolk’s denaturation temperature, which indicates the yolk is not sufficiently cooked, even at 10 minutes.

Hard-boiled eggs generally cook for 10–12 minutes, so 10 minutes should result in a fully set egg yolk. Therefore, our model is not complete yet, since it indicates that after 10 minutes the egg yolk is not fully cooked.

Inspect the egg’s temperature at r = 0 and z = 0 after six minutes:

Inspect the denaturation temperature of the yolk:

In versions 2 and 3 of the model, we got temperatures of 38°C and 42°C, respectively. Here in version 4, we get about 40°C for the temperature at the center of the egg at the six-minute mark. Compared with the denaturation temperature of the yolk, this still seems too low. We need to improve that in the next version.

Version 5: Build a Realistic Egg GeometryWhen the model is not giving us the answer we’re expecting, it can be a good idea to refine it further. One way of doing this is to take a look at the assumptions we have made. One important assumption is that the egg has a circular shape, which, of course, is not true in reality. In this version, we will create a more realistic geometry for the egg.

We can still assume that the geometry of the egg yolk is well modeled by a circle. But we can approximate the geometry for the eggshell in a more realistic fashion.

To do that, we’ll use a mathematical equation that approximates the geometry of the eggshell, based on this reference.

Create a helper function to compute the coordinates of the shape of an egg geometry:

This new function uses Table to create a list of pairs (or points) that define the eggshell. The equation that models the shape of the eggshell accepts three parameters: the length of the egg (from base to top), the breadth or width of the egg and a parameter that controls the elongated appearance of the egg.

Manipulate the parameters to view different shapes:

Inspect the value of the radius:

We will call the new eggShapePoints function for an egg that is 5 cm tall and 4 cm wide.

Create coordinates for the egg geometry by specifying parameters:

Using the coordinates that define the eggshell, we construct a B-spline curve—that is, a piecewise polynomial curve that best approximates the points outlining the eggshell. We simply pass the coordinates to the BSplineCurve function, and it returns the spline curve that defines the eggshell.

Create a spline:

Then we can use RegionUnion, joining a half-circle with our eggshell curve, to create the skeleton of our region. This is just as we did earlier, but with the spline curve for the eggshell.

Create an egg geometry with a subregion:

Next, we create the mesh with the region markers, as we did earlier.

Create a mesh with material markers:

Visualize the point element marker:

As we can see, the markers for the outside of the egg are still 2 and 5, so we don’t need to redefine the boundary condition.

Inspect the boundary condition:

Inspect the refinementFunction:

We are at a good point already, but we have a slight problem. For our previous version, we created a refinement function based on the region having a circular shape. We need to create a new refinement function for our new region:

We can refine the elements based on their radial distance to the shell, which is shown as a green line in the image. The red point represents an element, and it has a radial distance to the axis of symmetry (the blue line) and a radial distance to the shell.

We want to define a refinement function based on the distance in green. The higher the distance to the shell, the lower the refinement; the lower the distance to the shell, the higher the refinement. Furthermore, to get the green line distance, we subtract the blue line distance from the distance from the axis of symmetry to the eggshell (shown in magenta):

First, we define a function that returns the value of the cylindrical coordinate r for a given z in the eggshell curve.

Do an interpolation of the shell’s coordinates:

We are simply flipping the order of the points in the shell coordinates—replacing {r, z} with {z, r}—and then doing an interpolation from that. Here, rShell is an interpolating function that takes z and returns r.

Plot the function that gives the rShell function:

The plot of this function is what we would expect: the coordinate r for the eggshell as a function of z.

Then the only other thing we need to do is compute the distance from the axis to the shell minus the absolute value of the coordinate r for each point. This will give us the distance from each point to the shell (shown in green):

Define a function for the radial distance to the shell and plot it:

The plot shows that the distance from each point to the shell decreases almost linearly, as we would expect.

Plot the distance to the shell cubed:

When we plot the distance cubed, the values decrease more quickly as the distance to the shell becomes smaller.

Keep in mind that finding the correct behavior for the refinement function is a trial-and-error process.

Define the refinement function:

Here we defined the refinementFunction such that an element gets refined if its area is greater than the distance to the shell cubed, with some offset to avoid refining too much. In other words, the size of the elements are proportional to the distance to the shell cubed. The closer to the shell, the smaller the elements.

Define the mesh using the MeshRefinementFunction option:

Visualize the multi-material mesh:

As we can see, the elements near the center of the egg are not refined at all, but we get a very fine refinement near the eggshell.

We can proceed to solve the PDE as before, measuring the time and memory expended. This calculation of a nonlinear model with this mesh takes about six minutes to finish (just like the eggs I like to eat!). Keep computing time in mind when developing your own models. This is why Monitor is useful, and why using a non-refined mesh at first is a good idea.

Solve the PDE, monitor the progress and measure the computational time and memory it takes:

Inspect the temperature range of the newly found solution:

Again, we get a reasonable range of temperatures, so we can proceed with the animation.

Create the frames for the solution:

Rasterize the frames:

Animate the frames:

Two important points: First, at six minutes, the egg yolk is still not cooked, which is something we expected. Second, at 10 minutes, the whole region has surpassed the denaturation temperatures for both the egg white and yolk, so we can assume that the egg is fully cooked at this point. The model now reflects a realistic time frame to cook the egg. Great!

Inspect the egg’s temperature at r = 0 and z = 0 after six minutes:

At six minutes, we have a much more realistic temperature of nearly 60°C in the center of the egg, compared with our previous version of the model, in which the center only reached about 40°C. We can conclude that geometry plays a crucial role in the dynamics of heating the egg.

Version 6: Use the ModelNow that our model is producing satisfactory results, we can use it to make predictions.

Previously, our egg was introduced to boiling water from room temperature. Let’s now model a more realistic case in which the egg is taken straight from the refrigerator, where we’ll be assuming that the egg has an initial temperature of 8°C. To model that, we have to modify our initial and boundary conditions. In particular, the boundary condition needs to start from our new initial temperature and quickly rise to 100°C.

First, we set the initial temperature to 8°C and convert it to kelvins.

Set the initial temperature of the egg:

Next, we define our new initial condition.

Set an initial condition for the temperature inside the egg:

It is also necessary to modify the boundary condition function, which now starts from the new initial temperature.

Specify the temporal behavior of the boundary condition:

Visualize the temporal behavior of the boundary condition:

Regenerate the boundary condition:

Then we solve the PDE as before. Note that here we store our solution in a new variable called solutionFridge, so that we can compare it with our old solution.

Solve the PDE, monitor the progress and measure the computational time and memory it takes:

Inspect the temperature range of the newly found solution:

We get a range that’s reasonable for our refrigerated egg.

We can plot the solution in the same way as before.

Create the frames for the solution:

Rasterize the frames:

Animate the frames:

At six minutes, the egg yolk is still not cooked, just as in our last version. At 10 minutes, the egg seems to be cooked all the way through. It is difficult to see just by looking at the animation if there are any meaningful differences between the refrigerated egg and the room-temperature one.

One good option is to plot the temperature for the line that passes through the center of the yolk to the eggshell for both solutions—the refrigerated egg and the room-temperature one. A simpler plot might reveal more subtle aspects that are difficult to see in the density plot.

We are plotting the temperature for the values of r that lie on this line. We need the value of r for the right boundary. With our function rShell that we defined earlier, we can get the value of the coordinate r for the z value of 0.005, which is the center of the egg yolk.

Get value of r for the line:

Now we know the value of r for the right boundary of the line we are interested in. Next, we want to know how the temperature increases for that line, specifically for the values of r between 0. and 0.0179. We can create a simple plot, at six minutes for example, for those values of r.

Plot the solution along the radial line from the center of the yolk to the exterior of the egg at six minutes:

We can see that the temperature at six minutes is lower for the egg taken straight from the fridge compared to the room-temperature egg for all the values of r. In particular, we can see a difference of about 5°C at the center of the egg.

Because we are interested in predicting whether the egg is cooked, we also need a way to visualize the denaturation temperature. One way to do this is by plotting a vertical line that marks the value of r at which the egg reaches the denaturation temperature.

We can use FindRoot to find the value of r that makes the solution equal to the denaturation temperature.

Get the value of r at which the solution is equal to the denaturation temperature:

We find that the denaturation temperature for the yolk of the egg taken from the refrigerator is reached at a radius of about 10 mm (1 cm) from the center. We can represent that with a line in our plot.

Plot the solution along the radial line from the center of the yolk to the exterior of the egg:

In addition to the egg yolk, we also need the egg white denaturation temperature for both the room-temperature egg and the refrigerated egg. Instead of doing this manually, we can define a helper function.

This function takes the solution and the value of the denaturation temperature we are interested in, then uses FindRoot to determine the radius—along the plotted line—at which the denaturation temperature occurs. Finally, it returns a vertical line, which we can show on the plot.

Note that Quiet is used in the function, which suppresses any messages or warnings generated by FindRoot. In general, it is not recommended to use Quiet, because it makes debugging difficult in case any problems arise. But we want to avoid any messages during this plotting exercise.

Write a helper function to create a line of a denaturation temperature of a solution:

Next, we create a function for the actual plot, where we’re using Show to display the plot and the lines for the denaturation temperatures, calling our denatureLine helper function and also a line indicating the radius of the egg yolk.

Create a helper function to plot the denature positions for the two solutions at various times:

Visualize the temperatures at z = 0.005 for the eggs starting from room and refrigerated initial temperatures and the corresponding denature positions:

Looking at the plot at the six-minute mark, we notice two things. First, it’s clear that the denaturation of the egg white has already reached well into the egg’s center. Second, the denaturation temperature for the yolk has gotten much closer to the center in the case of the room-temperature egg compared with the refrigerated egg.

What does this mean? For the room-temperature egg, the yolk is just starting to cook. But for the refrigerated egg, the yolk is still runny—the denaturation temperature has barely reached the edge of the yolk.

Therefore, if we want a runny yolk, we’ve got two options:

  1. Use a refrigerated egg and take it out of the boiling water right at six minutes
  2. Use a room-temperature egg and pull it out of the water a few seconds earlier

Visualize the temperatures at z = 0.005 for the eggs at eight minutes:

If we make the same plot, but for eight minutes, we see something interesting. At about eight minutes, the entire room-temperature egg has surpassed the denaturation temperature of the yolk, which means that it also has passed the denaturation temperature of the egg white. But there are still some parts of the refrigerated egg’s yolk that haven’t reached that temperature yet.

What does this mean? If you want a fully cooked egg yolk and you’re using an egg straight from the fridge, leave it in the boiling water a few seconds past the eight-minute mark. If you’re using a room-temperature egg—and you’re hungry and don’t feel like waiting—eight minutes may be just enough time.

It All Boils Down to ThisWe started by creating a simple first version—just something to get our workflow up and running. If we jump straight into coding a complex model, we’re much more likely to make mistakes. What’s worse, those mistakes can be hard to track down. If the results don’t look right, it’s not always clear whether there’s a problem with the model itself or if we just made an error in the code.

By starting simple and gradually adding complexity, step by step, we reduce the chance of introducing bugs. We also get a much better understanding of how our model behaves.

As we saw, the sudden jump in temperature between the outside and inside of the egg was causing numerical issues in one of our early model versions. To fix it, we refined the mesh right at the boundary using a refinement function. This method is much better than refining the entire mesh, since that would slow our computation down significantly.

Finally, we used experimental data in two ways. First, we used experimental data to build our model by setting the parameters in the heat equation. Second, we used the data to compare our results with actual cooking times for real eggs.

We can conclude a few things:

  • Creating a simple version first is a good idea.
  • Increasing the complexity of the model step by step can make things easier.
  • Sharp transitions or discontinuities in solution variables can cause numerical instability or accuracy loss. Use local mesh refinement or smoothing in those regions.
  • Having a way to compare our results with real-world data is useful.

Finally, if you found this interesting and want to implement your own PDE models, you can check out this PDEModels Overview in the documentation.

View Details

In our daily lives, individuals, corporations and societies are constantly involved in making decisions. We hope to make optimal choices, especially when faced with recurrent decision processes. Thus we care about why and how our decision processes change over time. As a practicing engineer and an instructor in higher education, it is my opinion that a course on how optimal decisions are made and change should be part of a standard curriculum for a wide range of fields, including engineering, business, economics, project management and social sciences.

Wolfram Language provides powerful tools to compute and visualize both the optimal behaviors of decisions using game theory and an extension to a new field theory of games that explores how decisions change in time. I am excited to announce a free interactive course on decision process theory that will help students from all over the world explore this subject.

The course begins with a basic introduction to game theory and extends that theory to focus on how decisions change in time. A Wolfram Language toolkit for decision process theory (DPT) is provided in the course to facilitate a basic understanding of decision processes and provides ways to visualize them. Using the toolkit, examples and hands-on exercises are emphasized in lieu of detailed theoretical discussions. The level of the course is suitable for students with no prior knowledge of game theory.

Clicking the image below, which links to the course, lets you explore its content.

Motivation from HistoryThe ideas discussed in this course go back to the notion of utility introduced by the Swiss mathematician and physicist Daniel Bernoulli (1700–1782), who is also known for his contributions to fluid dynamics. The ideas were incorporated into a theory of decision making explained in the book Theory of Games and Economic Behavior by the mathematician John von Neumann (1903–1957) and the economist Oskar Morgenstern (1902–1977). Von Neumann and Morgenstern showed how to put decision processes into a normal form and, using the analogy of zero-sum recreational games, compute optimal behaviors for zero-sum decision processes. These ideas were extended by the mathematician John Nash (1928–2015) to non-zero-sum games.

I took these ideas and extended them to a field theory of games using the mathematics of differential geometry and based on utilities to consider how games behave in time: a decision process theory whose behaviors are very similar to fluids. More recently, I used Wolfram Language to create a toolkit approach to decision process theory, on which this course is based.

OverviewStudents taking this course will receive an introduction to classical game theory and use a curated set of Wolfram Language functions to compute the optimal behavior of games. Based on examples, the concepts of strategic thinking are applied to classic examples of games, such as the Prisoner’s Dilemma. The student will get a working knowledge of how to use decision process theory tools. A scratch notebook and the new Wolfram U Course Assistant, powered by Wolfram LLM Kit, are available for the student to use for their own decision examples to further explore the ideas presented in the course.

The course framework can be viewed in the following image.

The course consists of lessons, exercises, quizzes and a final exam designed to help you master all the fundamentals of this subject. As you work through the course, ask Course Assistant anything about a lesson and it will provide you with contextually aware answers and even relevant code you can try. While access to the course content is free, Course Assistant requires a subscription to Wolfram Notebook Assistant + LLM Kit. Necessary mathematical prerequisites for the course are exposure to single-variable and multivariable calculus.

Let’s see in more detail what the course looks like.

LessonsThe course is organized into 38 lessons. Each lesson consists of a video lecture and its written transcript. Along with the video, each lesson is also covered by a book chapter that expands the discussion further, at times providing background material and references not discussed in the video.

The first lesson, “Wolfram Language,” introduces the course with emphasis on how Wolfram Language will be used based on the DPT Toolkit. The second lesson, “DPT Toolkit,” introduces the toolkit.

Later lessons expand on these ideas to zero-sum and non-zero-sum games, both using game theory and the time-dependent field theory of games. The lessons include numerous solved examples illustrated using the functionality of Wolfram Language both to compute and visualize the results.

Lesson videos range from 5–12 minutes in length. The accompanying lesson notebooks can either be downloaded or viewed in the browser. Students are encouraged to experiment with them. A scratch notebook is provided in the course framework, which can be useful during the course and thereafter.

ExercisesEach lesson contains exercises that review the material covered in the lesson, as well as expand the content of the lesson. The solutions are provided, sometimes in the form of Wolfram Language.

For example, here are two exercises from lesson 30.

Students can experiment with Wolfram Language notebooks and try variations of the exercises or adapt the code to their own explorations.

QuizzesThe 38 lessons of the course are grouped into 10 sections. Each section ends with a quiz with multiple-choice problems reviewing the material contained in the section. The level of difficulty is roughly the same as that of the lesson exercises; the quiz is intended to help students with reviewing the main points of the section.

The quiz provides feedback about the correctness of the answers.

Students can use any method to solve some of the quiz problems; some require the DPT Toolkit and/or Wolfram Language. The scratch notebook is provided for that purpose and appears on the right-hand side of the screen along with each quiz.

Course CertificateStudents who finish the course and pass all the quizzes will earn a certificate of completion.

A final exam is also available at the end of the course. Passing it entitles the student to Level 1 certification for proficiency in decision process theory. It’s easy to track which videos you’ve completed and the status of your quizzes and exam by using the “Track My Progress” section of the course. Your shareable certificates are automatically generated and immediately available to you upon completing the requirements.

A Building Block for SuccessI believe all of us hope to make optimal choices and to gain understanding as our decision processes change over time. I am pleased to have put together a course to help us compute quickly not only optimal choices, but how even non-optimal choices change over time. Using foundational concepts of game theory, this course aims to help students become proficient in expanding these ideas further.

AcknowledgmentsI would like to thank Anisha Basil, Joyce Tracewell, Cassidy Hinkle, Bob Owens, Adam Bramowicz, John McNally, Marc Vicuna, Laura Crawford, Mariel Laugesen, Naoko Glowicki, Paige Vigliarolo and Bailey Long for their work on various aspects of the course.

| Register for one of Wolfram U’s Daily Study Groups. |

View Details

Version 14.2 launched on January 23 of this year. Now, today, just over six months later, we’re launching Version 14.3. And despite its modest .x designation, it’s a big release, with lots of important new and updated functionality, particularly in core areas of the system.

I’m particularly pleased to be able to report that in this release we’re delivering an unusually large number of long-requested features. Why didn’t they come sooner? Well, they were hard—at least to build to our standards. But now they’re here, ready for everyone to use.

View Details

If you’ve just been handed a syllabus with “Wolfram” or “Mathematica” listed in your materials this semester, it may feel a little daunting to learn a new language and environment. But have no fear! Whether you’re solving integrals, running simulations or just trying to finish your assignment before midnight, Wolfram Notebook Assistant is built for your success. Designed to help you focus on ideas instead of syntax, it’s like having a built-in tutor, editor and coding partner—all in one.

Notebook Assistant is a tool native to Wolfram Notebooks to help new users learn the system quickly and longtime users utilize both new and familiar functionality with ease. With a simple chat, you’ll find suggestions on getting a project started, explanations on which functions serve which purposes, improving code and more!

Here are four ways Notebook Assistant can help you get your homework or research projects done faster, better and easier than ever.

  1. What’s That Function?Wolfram Language has over six thousand built-in functions, over three thousand user-submitted functions and many other repositories with curated data, examples and paclets. Needless to say, it’s a lot to learn (much less remember). Instead of searching and sifting through search results across the internet (or even our own expansive Documentation Center), Notebook Assistant curates code and approaches suggestions from your natural language questions.

  2. Generating Code Snippets“Ideas are easy. Execution is everything.” – John Doerr

Nothing rings more true when you’ve come up with an amazing idea, realize you have the tools to complete it in Wolfram and no idea how to actually make it come to life. Cue Notebook Assistant: it can generate starter code for any idea, tweak existing code or pick up where you left off—kicking coder’s block to the curb.

  1. Code CleanupNovices and experts alike will understand the struggles of getting caught in a brainstorm and ending up with lines and lines of code. It might not be the most elegant, but it’s functional! If you’re submitting a class assignment, however, it’s completely understandable if you’re looking to put your best foot forward and submit something cleaner and avoid the wrath of the unusually fastidious professor.

  2. Skip the TutorialsEvery time you use Notebook Assistant, you’re passively learning Wolfram Language. By seeing how your words and actions translate into real code, you start understanding the logic behind it—without even opening a tutorial.

Pro tip: Hover over functions to get instant documentation and examples right in your notebook!

Jump Right In!Whether you’re just too excited to go through An Elementary Introduction to the Wolfram Language and ready to get right into exciting visualizations or you’ve been with us from the beginning and just need a handy helper to support your work, Notebook Assistant is ready to get to work for you!

| See more ways to use Notebook Assistant with Stephen Wolfram in Computational X – Live. |

View Details

Note: This blog is not meant to act as medical advice. Please consult your doctor to determine whether semaglutide is right for you.

Semaglutide is the active ingredient in a couple of popular anti-obesity medications. It is a glucagon-like peptide-1 (GLP-1) receptor agonist that mimics the action of our naturally occurring GLP-1 hormone. Semaglutide is 94% similar in structure to our natural GLP-1 hormone, and it works similarly to lower blood glucose and regulate appetite.

When injected into the fatty tissue under the skin, semaglutide binds to and activates the GLP-1 receptors present in several areas of the body. While the primary binding occurs in the bloodstream with albumin (the most abundant protein in blood plasma), semaglutide’s action takes place in multiple locations throughout the body where GLP-1 receptors are present, including the:

  • Pancreas, increasing the amount of insulin that our pancreas releases in response to food
  • Gastrointestinal tract, slowing gastric emptying and promoting satiety (fullness)
  • Brain, regulating our appetite and reducing the desire to eat more

Together, all of this helps control blood glucose levels, suppress appetite, lower calorie intake and promote weight loss.

Breaking Down the Semaglutide MoleculeSemaglutide is a 31-amino-acid polypeptide with modifications for greater stability and an extended half-life:

  Taking a Weekly Dosage of SemaglutideSemaglutide has a long half-life (about one week) because it is more than 99% bound to plasma albumin and protected from metabolic breakdown. Therefore, it can be administered as a weekly subcutaneous injection. The typical weekly dose of semaglutide for weight management is 2.4 mg. Use ChemicalInstance to get the number of semaglutide molecules in each dose:

The Structure of Semaglutide versus Native GLP-1 ReceptorsSemaglutide is chain E in the biomolecule with the Protein Data Bank ID 7KI0. Let’s visualize the experimental structure of the full complex and then just the semaglutide.

The Full ComplexHere is the full complex:

Semaglutide is distinguished by three modifications from native human GLP-1, including a C18 fatty diacid. The diacid increases albumin binding and extends semaglutide’s half-life, allowing for once-weekly dosing. This long diacid side chain is present in the 2D molecule, but not in BioMoleculePlot3D because the atom positions were not resolved.

Get the amino acid sequence of each chain:

The Semaglutide StructureChain E represents the bio sequence with 30 amino acids of semaglutide:

Native GLP-1 Versus SemaglutideAccording to the RCSB Protein Data Bank:
  • Semaglutide shares a 94% structural homology with native human GLP-1.
  • Semaglutide is distinguished from native GLP-1 by three modifications.

Visualize a complex containing native GLP-1 to verify the differences from semaglutide:

  Chain E is the native GLP-1. Compare the bio sequences for native GLP and semaglutide:

  The differences can also be viewed using the Diff function:

Examine the structural differences in the amino acid sequences where residues are color coded based on their amino acids:

Next, examine the overlap between the two sequences. We can confirm that it is ~94%:

‘ The GLP-1 ReceptorHighlight just the GLP-1 receptor and semaglutide. Most of the gray chains (except chain D) are guanine nucleotide-binding proteins:

The "GaussianSurface" PlotTheme helps us better understand the binding pocket of the receptor:

Assessing Semaglutide’s Impact on Blood Glucose It is important to remember the role of semaglutide in blood glucose control, not just weight loss. When glucose circulates in the blood, it can attach to hemoglobin, forming glycated hemoglobin, or hemoglobin A1c (HbA1c). The higher the blood sugar levels, the more glucose binds to hemoglobin, which results in a higher HbA1c level.

HbA1c indicates a person’s average glucose level over the past two to three months. It is useful in diabetes management to assess someone’s blood sugar over time and determine if a treatment plan is working. The American Diabetes Association (ADA) suggests a maximum HbA1C of 7% for nonpregnant adults with diabetes. This is a general guideline. The healthcare provider determines the HbA1c goal appropriate for each individual.

To help people better understand their HbA1C lab results, the ADA recommends the use of estimated average glucose (eAG) because it is expressed in the same units as home glucose readings (mg/dL). FormulaData includes a formula to convert HbA1c values into eAG (or mean plasma glucose) values:

Here is a function to convert HbA1c values of 5.3%, 7.0% and 8.5%:

Weight AssessmentBody mass index (BMI) is a simple and popular calculation because it requires only height and weight:

  But BMI cannot be applied to all individuals since it does not account for body composition or fat location. An athlete may have a high BMI but low body fat. A person with little muscle may have a normal BMI, but also a high amount of visceral fat in the central abdomen, which surrounds the internal organs and poses a greater risk. BMI can be useful in population studies of general trends in weight status.

As an alternative, waist-to-hip ratio (WHR) measures the distribution of body fat, particularly how fat is distributed around the waist compared to the hips. WHR focuses on fat around the abdomen, which is more strongly associated with heart disease, diabetes and other metabolic issues:

  Here is a function to calculate and interpret WHR. The first argument is the waist measurement, the second argument is the hip measurement and the third argument is "male" or "female":

Do not specify units for the measurements. They can be any unit of measurement as long as they are both the same. In the first example, the arguments are expressed as inches, and in the second, as centimeters:

ConclusionHigh-profile successes and persistent advertising of GLP-1 medications for obesity have generated excitement among consumers and spurred rapid innovation by scientists, with more obesity medications in the development pipeline. Still, long-term glucose control and weight management are best achieved with a comprehensive approach—one that includes healthy, nutrient-dense foods and regular physical activity. The authors found the US National Library of Medicine and the Protein Data Bank and its PDB-101 resource helpful in researching semaglutide for this post.

| Visit Wolfram Community or the Wolfram Function Repository to embark on your own computational adventures! |

View Details

Wolfram|Alpha를 이제 한국어로 편하게 사용하실 수 있습니다! 간체 중국어, 일본어, 스페인어, 영어에 이어 이번에 추가된 한국어 지원은 전 세계 누구나 체계적인 지식을 즉시 계산하고 활용할 수 있도록 돕는 Wolfram|Alpha의 비전을 한 단계 더 확장하는 중요한 이정표입니다. 앞으로도 더 많은 언어로 서비스를 확장해 나가며, 더 많은 사용자에게 지식의 힘을 제공할 수 있도록 노력하겠습니다.

Wolfram|Alpha란?Wolfram|Alpha는 15년 넘게 학생과 전문가에게 빠르고 정확한 공학적 해결책을 제공해 온 계산 지식 엔진으로, 지난 35년간의 Wolfram 언어 연구와 개발을 바탕으로 만들어졌습니다. 현재 인기 있는 대형 언어 모델(LLM) 챗봇과 유사하게, Wolfram|Alpha는 기본적인 산술 계산부터 고급 미적분까지 다양한 자연어 질의를 처리할 수 있습니다.

Wolfram|Alpha는 네 가지 주요 구성 요소를 기반으로 합니다.

  • 자연어 이해: 이 검색 엔진은 사용자가 직관적인 방식으로 묻는 질문을 해석하고 이해할 수 있도록 설계되어, 누구나 원하는 지식에 접근할 수 있도록 보장합니다.
  • 선별된 데이터와 지식: Wolfram|Alpha가 제공하는 정보는 10조 개 이상의 데이터 항목을 바탕으로 구축되었으며 이를 주요 출처에서 수집하고 전문가에 의해 지속적으로 업데이트 됩니다.
  • 동적 알고리즘 계산: 질문이 해석되면, Wolfram|Alpha는 50,000개 이상의 알고리즘과 방정식에서 관련 정보를 가져와 정확하고 유용한 결과를 요약하고 생성합니다.
  • 계산된 시각적 표현: Wolfram|Alpha는 사용자에게 정확한 답변을 제공할 뿐만 아니라 5,000개 이상의 다양한 시각적 및 표 형식의 출력을 포함한 추가 정보를 제공하여 더 나은 이해를 돕습니다.

Wolfram|Alpha 한국어로 무엇을 할 수 있나요?이번 한국어 업데이트는 영어 버전에서 제공하는 모든 수학 주제를 포함합니다. 초등 수학부터 미적분, 그리고 그 사이의 모든 것을 아우르는 Wolfram|Alpha의 광범위한 수학 주제의 다양성은 사용자가 가질 수 있는 거의 모든 질문에 답변할 수 있도록 구성되었습니다.

랜덤 버튼을 클릭하거나, 주제별로 분류된 방대한 예제 갤러리를 방문하거나, 검색창에 질문을 입력하여 Wolfram|Alpha를 사용할 수 있습니다.

간단한 것부터 시작해 보겠습니다. 50의 약수가 무엇인지 알고 싶다고 가정해 보겠습니다. Wolfram|Alpha Pro를 사용하면 단계별 설명도 볼 수 있는 옵션과 함께 깔끔한 분석을 제공합니다.

대수학 숙제는 어려울 수 있지만, Wolfram|Alpha는 교과서에서 바로 쓸 수 있는 거의 모든 방정식에 대한 답을 제공합니다.

적분 계산부터 극한 계산, 단일 또는 다변수 함수의 미분을 구하는 것까지, Wolfram|Alpha는 대화형 시각화를 포함한 고급 솔루션을 제공합니다.

통계학은 대학에서 연구하는 중요한 학문 분야 중 하나입니다. Wolfram|Alpha를 사용하면 이항 매개 변수를 추정하기 위한 샘플 크기를 쉽게 구하고, 주어진 데이터에 지수 모델을 맞추고, 데이터 집합의 특성을 요약하는 통계적 측정을 계산할 수 있습니다.

Wolfram|Alpha Pro를 사용하면 단계별 설명을 통해 숙제에 대한 더 나은 이해를 얻을 수 있습니다. 자세한 단계, 힌트 및 설명을 제공하는 Wolfram|Alpha의 단계별 해법은 원하는 답을 제공할 뿐만 아니라 문제를 정확하게 푸는 방법을 배우는 데에도 도움을 줍니다.

최종 의견한국어로 제공되는 Wolfram|Alpha는 단순히 영어 콘텐츠의 한국어 번역을 넘어서, 자연어 규칙과 결과 생성을 한국어에 맞춤형으로 적용합니다. 수학 숙제가 무엇을 다루고 있든, Wolfram|Alpha가 도움을 줄 수 있습니다. 모든 기능을 체험해보세요!

| Wolfram|Alpha 한국어 버전에서 탐색할 수 있는 주제가 훨씬 많이 준비되어 있습니다. 수학 숙제가 무엇을 다루고 있든, Wolfram|Alpha가 도움을 줄 수 있습니다. 모든 기능을 체험해보세요! |

View Details

我们很高兴地宣布,Wolfram|Alpha 简体中文版现已正式推出!这是继韩语、日语、西班牙语和英语之后,我们语言家族的又一重要成员,进一步实现了我们的长期愿景⸺让所有系统性知识变得即时可计算,并让全球每一个人都能轻松获取。

Wolfram|Alpha 是什么?Wolfram|Alpha 是一款计算型知识引擎,基于 Wolfram 语言 35 年的深厚研发积累,15 年来持续为学生与专业人士提供精准的即时解决方案。与当下流行的大语言模型聊天机器人类似,Wolfram|Alpha 能够理解自然语言提问,处理包括从基本算术到高级微积分在内的各类问题。

Wolfram|Alpha 基于四个关键部分:

  • 自然语言理解:该搜索引擎专为理解和解析用户以直观方式提出的问题而设计,确保每个人都能获取所需的知识,不受任何障碍。
  • 精选数据和知识:我们的信息建立在超过 10 万亿条来自一手资料的数据基础上,并由专家持续更新。
  • 动态算法计算:对问题完成诠释后,Wolfram|Alpha 立即从 50,000 多种算法和方程中提取相关信息,以总结并生成准确且有帮助的结果。
  • 可视化计算结果:Wolfram|Alpha 不仅为用户返回精确答案,还提供额外信息,包括 5000 多种不同类型的可视化和表格输出,以帮助您更好地理解计算结果。

您可以用 Wolfram|Alpha 简体中文版做什么?此次简体中文版升级全面同步了英文版的所有数学主题。从初等数学到微积分,再到各类数学分支,Wolfram|Alpha 强大而全面的知识体系几乎能解答您提出的任何数学问题,满足各个学习阶段的需求。

点击”随机”按钮,浏览按主题整理的丰富示例库,或在搜索栏中直接提问,立即开启您的 Wolfram|Alpha 探索之旅!

让我们先从简单的问题入手。想知道 50 的因数有哪些?Wolfram|Alpha 会为您提供精准的结果,而通过 Wolfram|Alpha Pro,您还可以解锁完整的分步解答。

代数作业或许让人头疼,但有了 Wolfram|Alpha,您几乎可以获得教科书上任何方程的解答,轻松应对难题。

无论是计算积分、求解极限,还是对单变量或多变量函数进行求导,Wolfram|Alpha 都能提供详细的解答,并配有交互式可视化图表,助您轻松掌握数学概念。

统计学也是大学中的重要学科。借助 Wolfram|Alpha,您可以轻松确定估计二项分布参数所需的样本量,用您自己的数据拟合指数模型,还可计算各种统计指标,全面掌握数据集的特征与规律。

通过 Wolfram|Alpha Pro,您可以获取详细的分步解题过程,从而深入理解作业内容。这些解题过程不仅包含清晰的步骤,还提供有用的提示和专业解释,让您不只是得到答案,更能掌握准确解决问题的方法,真正提升学习效果和解题能力。

结语Wolfram|Alpha 简体中文版远不只是对英文内容的简单翻译,而是对自然语言处理规则和结果生成系统的全面本地化。Wolfram|Alpha 将专家级知识和强大的解题能力集于指尖,从基础代数到高等微积分,应有尽有。我们无比荣幸地将这款凝聚了 15 年科技精华、以精准可靠计算著称的智能工具带入中文用户的世界。

| Wolfram|Alpha 简体中文版丰富多元的学科宝库正在等待您的探索。不论您遇到何种数学难题,Wolfram|Alpha 都能成为您的得力助手。立即开启您的智慧之旅,体验这款强大工具的无限可能吧! |

View Details

Translations of this post are available in simplified Chinese and Korean.

We are excited to announce that Wolfram|Alpha is now available in simplified Chinese and Korean! This adds to our growing list of languages, including Japanese, Spanish and English, allowing us to continue to support our long-term goal of making all systematic knowledge immediately computable and accessible to everyone.

What Is Wolfram|Alpha?Wolfram|Alpha is a computational knowledge engine that has been providing students and professionals with prompt engineering solutions for over 15 years, built upon the 35 years of research and development of Wolfram Language. Similar to the now popular LLM chatbots, Wolfram|Alpha processes natural language queries ranging from basic arithmetic to advanced calculus.

Wolfram|Alpha is based on four key components:

  • Natural language understanding: The search engine is designed to interpret and understand the questions asked by users in intuitive ways, ensuring no one is barred from the knowledge they seek.
  • Curated data and knowledge: Our information is built on more than 10 trillion pieces of data from primary sources and is continuously updated by experts.
  • Dynamic algorithmic computation: Once a question is interpreted, Wolfram|Alpha pulls the relevant information from 50,000+ types of algorithms and equations to summarize and generate results that are accurate and helpful.
  • Computed visual presentation: Wolfram|Alpha not only returns the exact answer to the user, but also provides additional information, including over 5000+ different types of visual and tabular outputs for better understanding.

Wolfram|Alpha in simplified Chinese and Korean is much more than simply a translation of the English content. These versions are an adaptation of the natural rule and result generation to simplified Chinese and Korean.

What Can You Do with Wolfram|Alpha in Simplified Chinese and Korean?The simplified Chinese and Korean updates include each math topic that is available in the English version. From elementary math to calculus and everything in between, the wide diversity of math topics included in Wolfram|Alpha allows it to answer almost any question you might have.

We can start to explore Wolfram|Alpha by clicking the random button, visiting the large examples gallery that is organized by topic or by making a query in the search bar.

Let’s start with something simple. Need to figure out what the factors of 50 are? You’ll be provided with a tidy breakdown and the option to see step-by-step explanations with Wolfram|Alpha Pro.

Algebra homework may be tricky, but Wolfram|Alpha provides you the answers to almost any equation you can write straight from your textbook.

From computing integrals, to computing limits, to finding the derivatives of single or multivariate functions, Wolfram|Alpha offers advanced solutions, including interactive visualizations.

Statistics is also a very important area of study at universities. With Wolfram|Alpha, you can easily find the sample size needed to estimate a binomial parameter, fit an exponential model to your own given data and compute the statistical measure to summarize the properties of your dataset.

With Wolfram|Alpha Pro, you can access step-by-step solutions to gain a better understanding of your homework. Through detailed steps, hints and explanations, Wolfram|Alpha’s step-by-step solutions not only give you the answer you’re looking for, but also help you learn how to accurately solve the problem.

Final Comments Wolfram|Alpha provides access to expert-level knowledge and problem solving right at your fingertips, covering topics from basic algebra to calculus. We are beyond excited to bring over 15 years of advanced, reliable and accurate computations to the simplified Chinese and Korean languages.

There are many more topics that can be explored in Wolfram|Alpha in Korean and simplified Chinese. No matter what your math homework is covering, Wolfram|Alpha can help. Be sure to try it all out!

View Details

Table of Contents* Meet the Experts * What Should My Top Priorities Be as a Recent Graduate? * What’s the Best Way to Network and Connect with People in My Field? * What Can I Add to My Resume to Stand Out from Other Applicants? * What If I’m Not Ready to Enter the Workforce or Start Graduate School? * Should I Consider Working for a Software Company? * Do You Have Any Additional Advice for the Class of 2024? * Follow-Up Resources It’s a beautiful spring day. Your robe and cap are a little itchy, but you don’t mind. You know your family will be taking an excessive amount of pictures, but that’s OK. You are graduating! Years of dedication and hard work have paid off and you’re about to walk across the stage with your diploma and start summer vacation! Wait—summer vacation? Do you even have a summer vacation now? What’s next? Should you look for a job or should you focus on bolstering your resume first? So many questions….

“So what’s next for you?”

If this scenario sounds familiar, you may feel overwhelmed—and you aren’t alone. Finding that next step doesn’t have to feel like such a daunting task. With the help of Kathy Bautista from the Wolfram academic programs team, we have invited five of our fellow Wolfram associates, experts in mentorship, postgraduation education and professional development, to share their insights on preparing for the next stage of life.

Meet the Experts

| | Cliff HastingsDirector, Sales & Strategic Initiatives and Parkland College Head Volleyball Coach | | | Jamie PetersonDirector, Wolfram U and Computational Learning Savant | | | Kayla MooreGlobal Recruitment Manager and Internship Aficionado | | | Rory FoulgerManager, Precollege Educational Programs and Wolfram Emerging Leaders Program Champion | | | Yi YinAcademic Innovation Programs Manager and Self-Described Tech Evangelist |

What Should My Top Priorities Be as a Recent Graduate?Cliff: If you’ve finished your education, regardless if you’ve already landed a job or are still looking, the Wolfram Early Professionals Program is a great resource. Not only do you get Mathematica, but you also get an invitation to a LinkedIn group to learn about networking and job opportunities. You’ll find links to exclusive trainings and new webinars on there as well, so you can continue to build your skills.

Rory: Outside of getting that connection, I’d also say your priorities really depend on where you want to go. If you’re into academia, then finding great places to continue your education is most important. If you’re trying to get a job, then networking and relationship building are really important.

Kayla: If you are looking to jump into the workforce, your top priorities should be updating everything you need before you start applying—resume, cover letter, LinkedIn profile, everything.

Rory: And, if you think you are interested in doing further education, it’s also important to know you don’t have to do that as soon as you finish your undergraduate degree. Getting a job first, or even doing a master’s part time while you have a job can be a really valuable way of approaching your academia with your professional life. That’s what I do. I have two master’s degrees now and I’ve been doing them part time with full-time pay. You can get a job, you can get further education or you can do both!

Cliff: Either way, maintaining your personal development and understanding yourself will pay off in getting yourself established in this new phase of life—including job or grad school interviews.

You should have a well-prepared answer to “Tell me about yourself.” If you don’t practice an answer to that question that is succinct, complete and displays your sense of professionalism and passion, it’s an immediate turnoff.

Your answer should be a 30–60 second rundown on how you want present yourself and what you want people to know that is not in your resume or cover letter. Your answer should help the interviewer think, “This person is well-spoken, mature and presents themselves well.” These are all things that anyone who is conducting interviews for any job, grad school or anything else is going to want.

Rory: Which reminds me, if you’re currently in college, look for year-round internships where you can work part time at a company or try to connect your thesis or capstone to a company. That’s what I did with Wolfram. I worked part time here, they paid me to write my thesis and then they hired me. It was great! Try to connect to companies you care about or are interested in. You want to be connected, so try to get part-time work for that last year of college, then during that summer, write your thesis on a topic that is relevant to what you want to do.

Cliff: You should also think about how to couple your degree with your personality and communication skills. My distinguishing characteristic is not that I’m the most technical or that I’m the best communicator, but that I’m quite good at both worlds. That is a very difficult thing to find in the world and a way to differentiate yourself.

I would also say don’t feel like you need to look for your dream career or job immediately upon graduation. Find a job that will challenge you and help you answer what you don’t want to do.

I think everyone tries to look for their dream job immediately, but it tends to be fraught with failure or disappointment. I think people in their 30s tend to be much happier when they have understood what it is they don’t want to do and are then able to articulate what it is they do want.

Yi: I’d also recommend following some newsletters or going to industry forums to follow up with what’s happening. There will usually be gaps between your academic program and industry trends. Especially in tech, things can move so quickly.

Attending events or extra classes from a program like Wolfram U will help you dig deeper into these trends and see what’s happening outside of what you learned in the classroom. Staying informed can help you draw a narrative of how you can contribute to the industry.

Jamie: Whatever you choose, don’t stop learning just because your classes are over. From a professional and personal development point of view, you want to keep staying relevant and abreast of the latest technology. You may have finished your coursework, but your real-world learning has only just begun.

How Can I Find Jobs That I Actually Want and Am Qualified For?Yi: I think the most important thing is to understand what is needed in the industry. The tech industry especially is so dynamic. Understand what’s going on and then how to design your own path. You may have better luck finding entry-level positions that require a broader range of abilities like technical skills, people skills and business acumen. A lot of people-oriented jobs, or students with STEM degrees, may not consider it, but that’s currently what the industry needs.

Kayla: Of course, companies will have their own pages like the Wolfram careers page. A lot of schools will have their own job boards too. Handshake is a really big one, and other platforms, like Symplicity, are more college oriented. If I’m posting a position there, I’m going to be posting one that is more entry level. Sometimes they do have positions that are for alumni, but utilize those resources when you can.

There are also often whole centers dedicated to helping students after graduation, which can be super helpful. Definitely take advantage of those resources.

Cliff: And, if you have Mathematica and Wolfram Language experience, you can find internships and entry-level career opportunities from Wolfram and a host of other companies looking for graduates with these skills through the Wolfram Early Professionals Program LinkedIn group.

Yi: You should also meet with the people you want to be. Socialize with people in your dream company or in the industry you want to be in. To meet with them, I think the best way is to go to conferences. Some students may get tunnel vision and think, “There’s no point with me visiting my dream company’s booth, or that conference, because they’re not hiring.”

I think just talking to people, no matter what their position is, will help you know more about the culture or product that will aid you down the line and maybe even find you a job that might not be posted on the internet—but because you know people, there may be a job you’re qualified for.

Kayla: And don’t be afraid to take a step back and see what you want your career trajectory to be. For example, if I was a new grad and I wanted to be a director of HR, there’s no way I could immediately do that. I can, however, take a step back and say, “What’s a good position that will help me get the experience to create a pathway to get to that point?” Maybe an HR assistant isn’t what my “dream job” is, but that’s a great start to get you on that path to get what you want.

Cliff: When I interviewed for Wolfram, my interviewer and I did a good job of defining all of my skills, even if I didn’t think those skills matched what a software company would have wanted.

I grew up on a farm and I was shocked to realize that the skills I gained from that would be valuable to Wolfram. They wanted to find a technical person who could communicate well, wanted to travel the country and could work on large vehicles at the same time. So, in the end, my job was driving the MathMobile around the country and presenting Mathematica.

The only reason it all worked out so well, though, was because I was able to present myself and all the skills I could bring to the table clearly and efficiently.

Yi: In a similar direction, there are some students who attend the Wolfram Summer School who do really awesome projects, and we end up creating a position for them because they have a lot of potential.

Kayla: When you’re being interviewed, that’s also your opportunity to interview the company. Do you align with them? Are they doing things that excite you and that you want to see in the world? Is that a team you feel you’re going to fit in with? I’m always a little disappointed when people don’t have questions at the end of a call, especially if it’s someone we haven’t talked to before. Even asking questions like “How do you like it? How was starting out for you? How is it for other new grads for start?” can be great.

Cliff: I think young people tend to not know what their skills are—and if they don’t know, it’s very difficult for an interviewer to understand why they are special or unique. Understand who you are and what you bring to the table. At that point, I think the rest kind of plays out.

What’s the Best Way to Network and Connect with People in My Field?Kayla: If you have a dream company and they have a strong online presence, watch their YouTube videos and comment on them. Stephen Wolfram will sometimes ask us to reach out to people who interact on his livestreams or other videos when people comment.

Do what you can to spark those connections. Sometimes people reach out to me who say, “Hey, I’ve been talking to this person on LinkedIn. They’re really interested in what we do.” Even those little things can go a long way. LinkedIn and other platforms have a lot of different groups you can join to meet likeminded people.

Jamie: Oh, yes, we have a Wolfram U LinkedIn group where you can join discussions or follow posts. You can also participate in professional opportunities or events, like online webinars or Daily Study Groups, which are not just for students! Use resources like Wolfram Community to connect and share ideas. The Wolfram U group hosts many discussions on Community for Daily Study Groups, interactive courses and more.

Kayla: I know Wolfram Community is unique to Wolfram, but platforms like that are really great ways to start talking to people, get an “in” and start connecting with others. Programs like the Summer School are a great way to get recognized and get an “in” with Wolfram folks, even if it doesn’t necessarily mean employment right away.

Rory: Yeah, and the academic programs are often a mix of students and professionals. You get to talk to people and get to know people in environments that aren’t formal networking events. People appreciate building actual relationships rather than exchanging business cards and following each other on LinkedIn. You’ll get so much more from a real relationship with more experienced people in your field and finding people and mentors. You can talk to them about your shared directions and maybe get a mentor out of it. Avoid networking events, form relationships.

Most industries will also have minority groups for you to join, like African Americans in medicine, women in STEM, neurodivergent people or physically disabled people in whatever industry, which is great for networking but also for seeking help and advice on specific issues and perspectives.

Jamie: And don’t forget how important your connections—even the ones online—are. Keep your mind open to opportunities and be aware of the full scope of where your interests lie. My son recently graduated and ended up deviating from the path he planned to follow with his degree. He pursued an opportunity to job shadow at a construction project and was like, “Wow. That’s what I want to do with my days.” He has found his calling. I’m really proud; it takes some real soul searching.

What Can I Add to My Resume to Stand Out from Other Applicants?Yi: In my experience, resumes can be quite limiting. If you have a personal website or have a professional social media account, you can better show your projects and utilize good visual storytelling. I think this helps you stand out beyond your resume. The hiring manager may go to your website to see what you have done.

Rory: Having a website for your portfolio or interactive version of your resume you built yourself is definitely a positive and impressive thing.

Cliff: Anything that sounds unique—achievements, awards, designations or anything else like that, whether it’s academic or extracurricular—are what really stand out to me. If you show me diversity in your accolades, it tells me you can manage multiple things at one time and find joy and passion, and that’s what I’m looking for.

Kayla: If you’re struggling to figure out what you should be putting on your resumes, always think about the personal projects you have. I feel like people will often discount the personal things they do in their free time that could be very applicable.

Rory: It’s also important to have both individual projects and group projects to prove that you’re capable of ideating and finishing a project, but definitely share projects you do on your own outside of school. It proves you have internal motivation to do stuff that isn’t being graded or assigned to you.

Cliff: It says they don’t just have to be the best at one thing, they have to be very good at lots of things. You have to be able to relate to lots of people and do lots of things.

Rory: It also shows you’re a self-starter and motivated to work in your field, and that you have good time management, research skills, subject-specific knowledge and that you’re able to work in a team.

Kayla: I think candidates sometimes don’t want to put personal projects on there because it wasn’t done in a professional setting, so the hiring manager must not care, but I don’t think that’s true. My brother has a little bit of experience and went to school, but he has a lot of personal projects that make him valuable. Or in our Global Technical Operations department, we’ll have people who went to school and have an associate’s in networking or something, and maybe they don’t have any professional experience, but then you find out they have a whole network that they set up or a server they manage in their house. Curious minds like to tinker!

It’s the same with certificates that you might get outside of school—I think those are really important, even if it’s Coursera or Udemy or something. That’s still you going out and pushing yourself outside of school. Those are the kinds of things that make you stand out and show that you’re continuously learning. I don’t think everything needs to be done in a professional or academic sense. Of course, that’s helpful, but people need to give themselves a little more grace of what their experience actually can be.

Rory: Publishing in real journals is impressive, but putting projects on community platforms like Wolfram Community is also a valuable thing. They allow you to share your work with a lot of different people and get feedback from professionals around the world, and that’s exciting.

Yi: I think, all in all, it’s a good story that will help you stand out. Build a story that shows you’re a good candidate, your passion, what you’re interested in, your mission and a good personal project.

Kayla: And, above all else, be honest about your application. I have had people who haven’t been honest or stretched the truth about their experience or job titles, and that is more of a red flag to me and to hiring teams than someone who lacks some experience. I think typically people are more willing to take a little extra time to train someone and get them up to speed than take a chance on someone who is going to be untruthful about what they are able to do.

What If I’m Not Ready to Enter the Workforce or Start Graduate School?Yi: If you can find an internship, that’s the best way. A lot of internships are quite competitive, though. If you’re having a hard time finding an internship, look for a program hosted by companies, like the Wolfram Summer School. That’s also great because you get a mixture of research, academic learning and industry contacts.

Rory: Oh, yes, getting involved in summer programs and during-the-year programs is fantastic.

The Wolfram Emerging Leaders Program (WELP) has a special section for college-aged students where you come up with a project to solve with Wolfram Language in any field. We find you an expert mentor from Wolfram and help you over the course of the year to develop a project and write a research paper to publish on Community or in journals and research papers, if you choose to do that. We’ve seen a huge variety of subjects, from computational politics, to deeply theoretical work, to physics or civil engineering. Students find the program a very intense and rewarding one where you end up with this published piece of research for others to see, letters of recommendation and a mentor whom you have been hanging out with for an entire year as you transition into postgraduate life.

Yi: Yes, I work with the Summer School and there are a lot of mentors from various backgrounds. I get to see how people with different backgrounds who have different visions of technology can work together to make the technology more user friendly. And, just like with WELP, you will have completed a project notebook. We help the students build a gallery and publish it online so they can attach the link to their resume for people to see what they have done, and publish their work to Community. Then they can receive feedback from other Wolfram users about their work

Rory: The Wolfram Student Ambassador Initiative is really valuable if you’re more interested in networking. You get to make connections and find people with similar interests to you from all around the world. We have tons of people who are excited about Wolfram tech in a variety of fields who want to be your friend, startup cofounder or research partner.

Kayla: You can also take this opportunity to add a few nuggets to your resume! Maybe it’s a programming language you didn’t learn about in school, or a certification. If you’re finishing school, more education is probably the last thing you want to be thinking about, but I do think it can go a long way. When I graduated, I had zero idea of what I wanted to do. I ended up getting a Teaching English as a Foreign Language certificate. Even though I unfortunately did not utilize it, it ended up being something that caught the eye of my interviewers here at Wolfram. They were excited to see that I had continued my education outside of school.

Rory: And if you’re fluent in Wolfram Language, becoming a mentor at the Wolfram High School Summer Research Program can also be a really positive thing. We’re always looking for mentors to help students work on their projects. Getting teaching experience is also really valuable for all jobs and helps with public speaking, your ability to explain stuff, networking and deepening subject knowledge. So if you’re interested in that, you can email camp-admin@wolfram.com.

Yi: You can also look for some courses hosted by commercial companies, which often have more business flavor, like Wolfram U. Those courses are also helpful when applying for internships or full-time positions because it shows you invested time in their content—you can show that you know the company’s product and how it’s used.

Jamie: Your resume is also a great place to plug certifications like the Level 1 Proficiency in Wolfram Language or, even more advanced, the Level 2 Applied Expertise in Wolfram Language Programming certifications. Not to mention, the “applied expertise” from the Level 2 means you actually develop a project that you can share in a portfolio—whether it’s a computational notebook, a report or a cloud-deployed file.

Daily Study Groups are another great resource, and they’re free. We just hit our 50th group recently and did a deep-dive blog about the Study Groups to commemorate the occasion, but basically, you attend a lecture, answer some questions to test your comprehension and then participate in a Q&A session.

You’ll also have a chance to network in our Community thread. We will often archive our Study Group events in our catalog. They’re a great way to learn about unique uses for different technologies.

One of our recent groups, Guiding Principles for Systems Modeling and Simulation, was led by our Wolfram System Modeler folks. They shared all kinds of examples that are not just engineering or turbine design. It’s modeling biological systems, financial systems and more, and applying those to different scenarios.

Boot camps are more intense. They are paid for and you’re online all day. You’re still with instructors and a cohort of learners. You’re being guided and instructed through completing graded, hands-on exercises and explorations. You participate in office hours, get some tutoring and, at the end of those boot camps, you will have a personalized project to present. Ideally, our boot camps end in a Level 2 certification, so they’re more immersive. Right now, our current boot camps are Neural Networks and Data Science.

Should I Consider Working for a Software Company?Yi: You live in the twenty-first century and cannot avoid it. If something affects your life this much, why not join forces to make the future instead of predicting the future?

There is so much hype right now for that or robotics or automation, so there is a lot of potential. A lot of students use ChatGPT to help with their tasks or with their homework—they’re seeing the potential to scale up and properly design them to help our lives. Software as a product has a special feature: the marginal costs are almost zero, which makes it easier to scale up compared to traditional manufacturing. If you’re looking for an industry with potential, software is the way to go.

Kayla: And I’d say that goes for technical and nontechnical roles. I get people all the time who assume that they can’t apply for a software company because they don’t know a programming language. No one on my team can program. That’s not what it’s all about. It takes all kinds to make a company work. Of course, being technical can help, and if your dream job is software engineering, then of course that would be applicable.

I think software companies can teach you so much about ebbs and flows. There’s a lot going on. Things are always changing and it’s a great way to gain experience. I never saw myself working for a software company or in some kind of STEM space whatsoever. I have always considered myself an artsy, humanities person, and there’s just so much happening.

Cliff: To me, the beauty of Wolfram or a company like Wolfram, which I understand now and did not understand at 20, is the collection of things going on, skill sets that are needed and projects that are being worked on under one roof. It allows for a lot of different kinds of people to enter the door, but also allows for a lot of different people to find promotions or changes within those doors to truly find their career path.

I’ve hired so many athletes of mine and it’s interesting watching their journeys unfold. Sometimes they start in sales and recognize that this was not their path forward. They have a passion for Wolfram, but not a passion for sales. Conversely, we have done the opposite, where they have been hired in different areas and then had success within sales too. As a 20-something working at Wolfram, you could bounce from technical support to PR to sales trying to figure out your best path forward, and I think that’s really cool.

Rory: And picking a company to work for based entirely on benefits is entirely reasonable. I would imagine, for a majority of fresh graduates, you don’t care if your life insurance or parental leave benefits are great. A lot of people, especially in tech, get kinda starry-eyed over a large salary package—and that’s totally fine if that is your priority—but it is worth, in your last year of college, evaluating the priorities you have. If your life’s ambition is to educate, or work in healthcare, build roads or whatever is important to you, then doing whatever pays you a billion dollars is not the most important thing. Having a high moral inventory can be important to know what you want and pick companies based on that, rather than prestige or money or whatever.

Kayla: Find where you fit best. There are just a lot of different kinds of companies and company sizes that I think as long as tech is prevalent, it’s always going to be something that’s around.

Do You Have Any Additional Advice for the Class of 2024?Jamie: The pandemic loomed so largely for this group of grads. You were right in the middle of it all and you had to be flexible and navigate the changing learning environments, and then transition back to campus life and classes. To be a graduate, you’ve successfully navigated these crazy things life has thrown at you.

Cliff: I think these graduates are in a really unique place now. In a post-pandemic landscape, they don’t have to think about geography as tightly as we did previously. Where they once were applying for jobs with a specific city in mind, they can now think about applying for jobs or careers based on what sounds interesting and that can take them to different cities where they can be in remote positions. I think that’s really complicated, but also just opens up potential for more opportunities.

One thing I’m pushing grads to take away from my life story is that most people eventually pursue a partner and kids. If you follow that path, then you are really limited with where you can go, and there’s nothing better than your first job having some level of travel. You get to see the country, potentially the world. It’s basically like a vacation the company is paying for.

Rory: It’s a tough market right now, and you have to keep looking and expanding your resume to be a good fit for these jobs. You may apply for 150 or 200 jobs and you’re excited for all them, but you don’t get any of them. That’s not a reflection on you or your abilities. Don’t be generic in your applications. Find companies and job titles that are genuinely exciting, and let that show in your interviews. Finding things you’re passionate about leads to employment, not the other way around.

Kayla: Be open minded. Don’t discount any experience that you gain. Every position can offer experience that you can use later. Maybe it won’t always be technical, but soft skills can get you really far too. This is such a weird time in the world and a really tough job market, so don’t give up. If something isn’t working, just restructure your strategy and try again. There are so many resources for interview and resume advice. Use the resources available to you and don’t take for granted any opportunities that might come your way.

Yi: And don’t be a perfectionist—don’t think “I need to find a dream job right after school.” You have plenty of time to find that. There are opportunities to try out projects, move up or switch departments, and the business is evolving. Do something different than your graduating hire position. Think about the potential rather than needing perfection immediately after graduating. If you find any job, take it, gain experience and learn everything you can. No matter what happens after that, that experience will help you find something you really want.

Follow-Up ResourcesCongratulations to the class of 2024 and best of luck forging your new path! See the following for a list of the resources mentioned in this post.

  • Wolfram Early Professionals Program »Join this group for access to Mathematica for six months, our LinkedIn group, special discounts, Wolfram internship and job board notifications and more.

    Wolfram U »Find our complete list of courses, certifications, Daily Study Groups and other educational resources.

    Research-Based Educational Programs »Learn more about how you can be a part of the Wolfram Summer School, the Wolfram Emerging Leaders Program, the Wolfram Science Winter School or the Wolfram Student Ambassador Initiative.

    Stephen Wolfram livestreams »Curious about the behind the scenes at Wolfram? Connect with Stephen Wolfram on his livestreams, including Live CEOing; Business, Innovation & Managing Life Q&A; and Research Working Sessions.

    Wolfram events »Register for Wolfram classes, trade shows and special events.

    Wolfram careers »Learn more about Wolfram’s history and principles and look out for job openings and internship opportunities.

View Details

As computers continue to perform an increasing number of tasks for us, it’s never been more important to learn how to use computers in creative ways. Creative computing, an interdisciplinary subject combining coding with artistic expression, allows us to blend technology with human experiences. Learning to create in this way can help you unlock your innovative problem-solving skills. By mastering creative computation, you can create interactive artwork, design immersive experiences and develop creative solutions to real-world challenges.

Wolfram U’s new Creative Computation course combines an introduction to Wolfram Language coding with a project-based exploration of various art forms, like visual art, poetry, audio and video game design. If you’ve never coded in Wolfram Language before, this course is a fantastic introduction to applied computing and will help you learn the language for any project. If you’ve already mastered the basics of coding, this course will help you apply your skills to fascinating new problems and projects.

We would love for you to join us in this interactive course as we explore what it means to work creatively with coding.

Motivation from HistoryCreative computing is a relatively new subject, but people have been using technology to make art for centuries. From the loom to the printing press or Walkman to Atari, technology has been part of art for as long as both have existed.

We now have a variety of exciting and creative ways to engage with computers, from AI-generated images to immersive virtual realities.

OverviewIn this course, you will learn how to use Wolfram Language to create various forms of art. There are four main sections to the course: Computational Art, Computational Strings, Sound and Game Development. In each section, there are lessons teaching Wolfram Language skills, with associated exercises, and at the end of each section, there is a larger project. The projects are designed for you to stretch your creative muscles and use your new coding skills to create art. You’ll learn how to create visual art using images, how to write poetry using string manipulation, how to visualize audio and how to make text-based and graphics-based video games, all while learning how to code in Wolfram Language.

Here is a sneak peek at some of the topics in the course (shown in the left-hand column):

With 16 lessons, five quizzes and four projects, this course should take around five hours to complete. We recommend doing all the activities and projects to maximize your understanding and explore your new skills.

There is no background required to participate in this course. We will teach you all the coding skills you need to make the projects, so all that is required is your excitement and creativity.

Let’s explore what’s in the course.

LessonsThere are 16 lessons in this course spread out over the five total sections (Computational Thinking and Coding, Computational Art, Computational Strings, Sound and Game Development). In each lesson, you will explore a different aspect of coding through a short video. You’ll start off by exploring the concept of computational thinking: how to translate your thoughts and your creativity into something the computer can understand and how to work with a computer to build creative artifacts. Here is a short excerpt from the video for this lesson:

Each lesson teaches a specific coding skill, with lots of examples and exploration of key concepts. In the Computational Art section, the goal is to use images and graphics to create a piece of art. In order to do that, we need to learn skills like variables, functions, lists, the Table and Map functions, colors, graphics and randomness, and image manipulation. Each skill is taught with an interactive video lesson in conjunction with exercises, before you use the project to test your knowledge.

The video lessons range from 5–13 minutes in length, and each video is accompanied by a transcript notebook displayed on the right-hand side of the screen. You can copy and paste Wolfram Language input directly from the transcript notebook to the embedded scratch notebook to try the examples for yourself.

ExercisesEach lesson has a set of exercises to review the concepts covered during the lesson. Since this course is designed for independent study, a detailed solution is given for all exercises. Each exercise will help you practice a specific skill you’ve learned so that you are ready to use that skill in the project. Here is an example of an exercise from lesson 6 on image manipulation:

The exercise notebooks are interactive, so you can try variations of each problem in the Wolfram Cloud. You’re encouraged to blend skills together as you learn them. For example, for the aforementioned exercise, you could use the skills you just learned about randomness to replace the dominant colors in the image of the wolf with random colors, or you could import images to do the same exercise with a different image. When you’ve gotten further in the course, you could come back and build your own function that can do this to any two images.

ProjectsEach section of the course includes a short project, and the Game Development section has two longer projects. In each case, you’ll use the skills you learned in that section to build something creative. In the first three sections, we provide detailed solutions and walk you though our processes, but in the Game Development section, we encourage you to build something unique.

In the Computational Art section, you’ll make art using images and shapes. In Computational Strings, you’ll write a Mad Libs haiku. In Sound, you’ll make an audio visualizer. In Game Development, you’ll make a text adventure game and a graphics-based Pac-Man–style game.

These projects will allow you to celebrate your successes and practice your new coding skills while cementing your understanding of creative computation.

QuizzesEach section of the course ends with a short quiz, which allows you to demonstrate your understanding:

You will get instant feedback on your solutions, and you’re encouraged to try out the code.

Course CertificateYou are encouraged to watch all the lessons and attempt the projects and quizzes in the recommended sequence, since each topic in the course relies on earlier concepts and techniques. When you watch all 16 lesson videos and pass the five course quizzes, you will earn a certificate of course completion. The Track My Progress status bar in the course helps you to chart your progress, showing you where you left off from your previous course session. While you don’t have to submit projects to earn a certificate, they are a fundamental part of gaining computational skills, and we look forward to connecting with course users about their projects on Wolfram Community. Your course certificate represents completion of the basic course requirements, demonstrates your interest in exploring the latest technology and in building new computational skills, and it will add value to your resume or social media profile.

You are also encouraged to use the skills you learn in this course to go on to earn Level 1 certification for Wolfram Language proficiency. While the course does not require the same level of mathematics as the Level 1 certification exam, it will prepare you well for accomplishing the range of computational tasks that are required for Level 1 certification.

A Building Block for SuccessA mastery of the fundamental concepts of creative computing will prepare you for working with computers to innovatively solve problems. Whether you’re interested in creating art or you’re interested in developing your coding skills, this course will provide a detailed foundation in both. Learning Wolfram Language is a valuable pursuit regardless of your career aspirations, as you can use the skills you learn in this course in any field.

AcknowledgementsI would like to thank my coauthor Eryn Gillam for their major contributions to the development of this course, as well as others who helped this course come together, including (but not limited to) Anisha Basil, Abrita Chakravarty, Cassidy Hinkle, Joyce Tracewell, Arben Kalziqi, Isabel Skidmore, Zach Shelton, Simeon Buttery, Ryan Domier and Eder Ordonez.

| Register for one of Wolfram U’s Daily Study Groups. |

View Details

Four years ago, as the COVID pandemic wreaked havoc to class and event schedules, instructors and organizations were scrambling to create meaningful learning opportunities for students. In April 2020, Stephen Wolfram challenged the Wolfram U team to establish a unique online program for building computational skills with Daily Study Groups. The program was enthusiastically received by learners of all ages, and, after recently completing our 50th Daily Study Group, this is the perfect time to reflect on the program, celebrate a milestone and look ahead to future developments.

What Are Wolfram Daily Study Groups? The mission behind Daily Study Groups was pretty simple. They were to facilitate learning cohorts that met together online for one hour daily, Monday through Friday, for one or more weeks. They were to offer interesting, timely and fun computational topics that provided hands-on access to the latest Wolfram technology and a Study Group instructor who was knowledgeable in the field. They were to provide support to online sessions with helpful staff who assisted in polling the group to review key concepts, introducing practice problems and answering questions. Finally, the Daily Study Groups would offer certifications to those who went the extra mile and successfully completed quizzes, practice problems and exams. After running almost five hundred daily sessions for thousands of participants, we can call the program a huge success!

What Do You Study? Our first Daily Study Group was a primer on learning Wolfram Language. The Study Groups that have proven to be the most popular are based on programming topics (such as Wolfram Language Basics, Programming Proficiency and Creating Custom User Interfaces) and college-level mathematics courses such as calculus, differential equations, linear algebra and statistics. Computational topics are also well-represented in Daily Study Groups in areas of data science, cryptography, machine learning, signal processing and game theory.

Are Trending Hot Topics Covered? Daily Study Groups are a great way to learn more about trending topics and technology, and Wolfram users are always curious to explore the latest. During the pandemic, we hosted the Study Groups COVID-19 Data Analysis and Visualization, Biodiversity Explorations with Machine Learning and Building and Applying Epidemiological Models. Daily Study Groups have helped participants learn about cutting-edge topics like quantum computing, blockchain and Wolfram GPT; our 50th Daily Study Group was all about LLM functionality. The following poll shows the range of interest in different tools at this Study Group:

Early Access to Wolfram Interactive Courses Joining the Daily Study Groups can also sometimes provide access to pre-released course content, giving participants a sneak peak at upcoming courses and helping us to collect valuable feedback before a full public release. Our interactive courses cover a wide range of computational topics, and we discovered that running Daily Study Groups based on these courses was a great way to further engage students and encourage them to complete coursework and earn Wolfram certifications. A recent Study Group followed this model for Introduction to Finite Mathematics. The Study Group followed lessons from the interactive course and participants were the first to have access to course quizzes and exercises and even prepare for the final exam. We’re pleased that many from the Study Group went on to pass the exam and earn a Level 1 certification for proficiency in finite mathematics.

Community Engagement Each Daily Study Group establishes a Wolfram U group discussion on Wolfram Community. Many of these discussions have grown to be incredibly active and useful to Community members. Check out the recent discussion threads, and keep in mind that you only get full access to Study Group materials, including lesson notebooks, videos, quizzes, certification opportunities and more, when you sign up for a Wolfram Daily Study Group.

Learning and Certifications More than 2,300 Wolfram certifications have been granted through Daily Study Group programs so far, and we look forward to awarding many more. Level 2 certification for applied expertise in Wolfram Language programming is a brand-new certification level offered by Wolfram U, and we were pleased to introduce it in a Daily Study Group earlier this year. Congratulations to Michael Ulrey, who is the very first to be recognized with the Level 2 certificate for his project work with Bell’s theorem, visualizing pertinent sets of correlations. We know there are many Wolfram Language users out there with Level 2–caliber project work. I hope you’ll be ready to promote your skills and knowledge by applying for Wolfram certifications, which are easily sharable to professional profile pages and applications.

A wide variety of certifications is available. Participating in a Daily Study Group is an enjoyable way to complete coursework and earn certifications, but many certifications are obtainable through independent completion of courses at Wolfram U, allowing you to manage learning time at your own pace and schedule. I encourage you to browse the full catalog and find topics of interest to you. The following is a sample of available Wolfram certifications:

What Participants Are Saying One of the best things about being part of a Daily Study Group is hearing how helpful they are to so many people. We read all our survey comments, and it’s a pleasure to receive this kind of feedback:

  • “As someone who has teaching experience about 20+ years, these sessions provided new insights, introduced some new topics and inspired me to explore more.”
  • “I am a student who has benefited greatly from your instruction since the Daily Study Group: Introduction to Multivariable Calculus. I want to express my sincere gratitude for your dedication to our education. Your willingness to answer our questions during class and carefully consider our survey responses has been invaluable.”
  • “That was a wonderful study group idea… I really loved it and I hope you will have more of this kind of study group. It was clear that the presenters had spent many hours preparing their notebooks, and prior to that researching the topics… which made a wonderful opportunity for the listener to brush up on a topic, or learn a new topic, and see how it is implemented in Wolfram Language. You had me mesmerized. More, more, more… Thank you.”

What’s Next? More courses, more computational explorations and more learning! You can count on Wolfram U and Daily Study Groups to keep up with expanding technologies and the latest content from Wolfram. Watch for upcoming Study Groups in complex analysis, electric circuits, computational physics, machine learning, generative AI and, of course, opportunities for getting started and building skills with Wolfram Language. Consult our current Study Group schedule any time to see the latest.

Thanks to a Fantastic Team At Wolfram, we’re fortunate to be surrounded by colleagues with specialized fields of interests and experience in academia and teaching. I want to take this opportunity to thank all the Study Group instructors, teaching assistants and Wolfram U staff who have helped to provide such a rich resource to so many over the past four years. Running a daily online program is a big task and requires much coordination and teamwork. Thanks also to the folks from all sorts of backgrounds, from all around the world, who have participated in Daily Study Groups. The secret to the success of Wolfram Daily Study Groups comes down to a combination of talented instructors and staff, reliable technology, motivated students and the power of Wolfram Language.

| Check out Wolfram U for a wealth of free interactive courses, video courses and special events. |

View Details

As computational science progresses, we are seeing leaps and bounds in what can be realized for helping the world. The technological advancements in biology have paved the way to better study medicine and the patterns of the environment in order to help the sick and optimize resources. Whether you’re classifying an animal for the first time or visualizing simulated animal genomes, Wolfram Language holds the tools and power to support your computational life science endeavors. The following is a collection of biology resources, projects and functions in Wolfram Language for any skill level.

Level 1—Learn about Computational BiologyThe fields of life science cover a lot of ground—understandably so, given how expansive life itself is. Begin your computational biology journey with basic educational tools and virtual experiments.

Science & Technology Q&A for Kids & OthersStephen Wolfram’s Science & Technology Q&A for Kids & Others is a weekly stream where Wolfram answers questions in hopes of breaking down the complexities of science and technology in an approachable way for those unfamiliar.

Each stream is an impromptu discussion that is not bound to a particular topic, but often finds common themes as the discussions unfold. Episode 134 discusses the limitations of humans and animals. In episode 132, Wolfram looks into bio-computers, mantis shrimp and more. Have a question? You can submit your own questions to be answered in a future stream.

Wolfram|Alpha Example QueriesWolfram|Alpha’s searchable database gives budding computational scientists the tools to find reliable information and calculations to support just about any field of work—including biology and life sciences. Example queries for biology are available to instantly learn about anatomy, taxonomy and genomics.

Wolfram U—Computational ZoologyWolfram U offers courses spanning introductions to computation to advanced technical applications of Wolfram Language. Computational Zoology shows how to use the Wolfram Knowledgebase and external data to learn about animal species and build simple machine learning models to process zoology data.

Wolfram Demonstrations ProjectThe Wolfram Demonstrations Project offers more than 13 thousand interactive Wolfram Language Demonstrations in varying fields, including nearly two hundred biology Demonstrations. Set unique conditions and watch experiments unfold from Demonstrations like the following.

The Cell CycleBy: Rachel Lian and Stacy Hu

This Demonstration shows a visual model of the phases of mitosis.

DNA ReplicationBy: Priyanka Multani

Multani’s Demonstration shows how the DNA helix unwinds and uses the old DNA strand as a template to create two daughter helices.

3D Skeletal Anatomy of the ArmBy: Stewart Dickson

Dickson’s Demonstration offers an interactive skeletal model of the human arm—complete with rotating views and highlighting of different bones for easy identification.

Predator-Prey Dynamics with Type-Two Functional ResponseBy: Wilfried Gabriel

Gabriel’s Demonstration uses simplified Lotka–Volterra equations to demonstrate simple predator-prey cycles. You can adjust the model by altering each part of the equation, from predator competition to prey death rates.

Latest Features in Wolfram LanguageWhen you’re ready to start creating your own computational life science experiments, Wolfram Language’s biology functions give you the power to build an interactive stage for exploration and experimentation. The most recent published entities include:

  • "TaxonomicSpecies" — This feature offers detailed information for the taxaof plants, animals, microbes and more. You can also check out Keiko Hirayama’s talk, “Exploring Species in Wolfram Language,” to see this function in action:

  • AnatomicalStructure — This feature offers detailed information for more than 90 thousand human anatomical parts:

Wolfram Function RepositoryThe Wolfram Function Repository offers an ever-expanding collection of Wolfram Language functions developed by both Wolfram teams and users. With over 2,500 functions available, there are plenty of biology tools to go around for the computational biologist:

  • BioSequenceMoleculePlot models structural diagrams of biomolecular sequences.
  • DNAAlignmentPlot creates a colorful visual for DNA sequence alignment.
  • TaxonomicNearest generates taxato the nearest taxon.
  • FoodWeb generates graphs displaying predator-prey relationships for a given animal.
  • TaxonomyGraph displays a taxonomy graph for a given species.

Featured Community PostsFrom Pictures of Animals, Try to Reconstruct the Tree of Life (Wolfram High School Summer Research Program 2022)
By: Maya Viswanathan

The Wolfram High School Summer Research Program is an opportunity for high-school students to participate in their own research projects with mentors from the Wolfram team and Stephen Wolfram.

Viswanathan’s research project used Wolfram Language’s image-processing capabilities to make a taxonomical tree of life. The diagrams are used to organize different organisms into different classifications, including taxonomy and evolution. Viswanathan’s diagrams build trees solely off of how Wolfram Language interprets images of different organisms, resulting in an impressive and colorful display.

Water and Heat Exchanges in Mammalian Lungs
By: Benoit Haut

Haut’s project uses a mathematical model that evaluates how varying mammalian lungs use water and heat to self-regulate temperature. Haut spares no effort in creating visually stunning models for easy reading.

Anatomy Data for Visual Representation: Teaching and Research
By: Alessandro Mastrofini

Mastrofini’s project creates 3D models fit for the teaching and research of body parts, including organs, arteries, muscle tissue and more. His models are presented in different stages to highlight different elements, such as full-body placements, 3D rotating models with regional highlights and full-color models.

Wolfram System Modeler—Bio Chem LibraryWolfram System Modeler is an interactive modeling lab that gives you the chance to run dynamic simulations for varying environments. The Bio Chem library offers modeling, simulation and visualization of biological and biochemical systems. You can learn about how the Bio Chem library is used for safe drug research and development with FDA-approved models.

Level 2—Experiment with Computational BiologyComputational biology in Wolfram Language doesn’t stop with informational entities and projects. The following resources show applications for using Wolfram technologies to complete life science experiments and research.

Wolfram|Alpha Biology TeamThe Wolfram|Alpha Biology Team walks through its more advanced content and features in livestreams, Wolfram Technology Conference talks and blog posts.

Video Walkthroughs

  • “New Biology Content in the Wolfram Language”
  • “Computational Taxonomy (Biology)”
  • “Representing Biological Sequence Data in the Wolfram Language”

Wolfram Blog

  • “Brain, Neurons, Cognition: Computational Neuroscience”
  • “Visualizing Anatomy”
  • “Dissecting the New Anatomy Content in the Wolfram Language”

Wolfram Function RepositoryThe Wolfram Function Repository also offers more advanced functions to keep you progressing with your computational biology work, including utilizing the Global Biodiversity Information Facility’s data:

  • GBIFImport
  • GBIFSearch

Wolfram Language Example RepositoryThe Wolfram Language Example Repository features a series of ready-to-use examples for different applications, including biology and life sciences. The examples include visualizations and analyses for synthetic biology, biomolecular computation and anatomy:

  • Visualize Mutations in DNA Sequences
  • Bacteriophage Head-Tail Connector Protein
  • Distribution of Endangered Mammals
  • Neuronal Network of a Human Brain

Featured Community PostsComputational Anatomy Visualizations, Animations, Web-Deployment
By: Martijn Froeling

Froeling is an assistant professor specializing in quantitative neuromuscular MRI techniques to better understand muscle functions and diseases. He found himself in a project that required many images of anatomical models of lower-extremity muscles. He decided to use Wolfram Language to generate interactive models to use in his project rather than taking the time to search the web for the exact angles needed.

QMRITools PacletIn 2023, Froeling was granted a Wolfram Innovation Award for his paclet, QMRITools. This paclet was developed as a toolkit for experimental design, data analysis and teaching. The paclet has been credited as a tool in over 50 scientific papers and currently offers more than 450 functions. QMRITools has helped to simplify quantitative MRI analysis. You can watch Froeling discuss the paclet in more detail in his livestream, “QMRITools: Processing Quantitative MRI Data: Live with the R&D Team.”

Level 3—Research Computational BiologyWolfram technology is currently being used in a variety of advanced research projects that push the current understanding of life sciences further and further. Combining Wolfram and the life sciences at a higher level offers a quick and affordable way to test hypotheses and conduct analyses.

Wolfram YouTube ChannelMathematica in Cell Biology: Image Segmentation and Analysis of 3D Tumor Spheroids

Sabine Fischer discusses the work of the physical biology group at Goethe University Frankfurt in cell biology—particularly its work in image segmentation and assessing tumor spheroids.

Bioinformatics in the Wolfram Language

John Cassel discusses the Wolfram|Alpha Scientific Group’s work on computational bioinformatics in Wolfram Language and different applications to the life sciences.

Featured PublicationMathematical Models in the Biosciences 1
By: Michael Frame

Frame’s Mathematical Models in the Biosciences 1 offers a look into using Wolfram Language to aid in the mathematical foundations of biosciences, including chemotherapy, predator-prey relations, nerve impulses and more.

Featured Community PostsAn Example of Multi-level Modelling in Plants
By: Rui Alves

Alves’s project builds multi-level modeling of maize in order to assess genome interventions to improve resistance to pests and extreme conditions such as drought. Using Wolfram Language allowed him to model 3D simulations of varying conditions for biosynthesis in plants.

Introducing the Wolfram ProteinVisualization Paclet!
By: Soutick Saha

Saha’s ProteinVisualization paclet is designed to create intricate, colorful, 3D visualizations of biomolecules, including proteins, nucleic acids and their complexes. The paclet also allows for computing elements such as contact maps, graphs and dihedral angles. Saha has continued to work on his paclet and shared a second post detailing his recent updates, “What Is New in the Wolfram ProteinVisualization Paclet!”

Detecting Global Community Structure in a COVID-19 Activity Correlation Network
By: Hiroki Sayama

Sayama’s project looks into developing a correlation network of countries or regions, their community structures and a time series of their COVID-19 activity.

Gastruloid Series
By: Ali Hashmi

Hashmi’s series of Wolfram Community posts about gastruloids, or 3D models of mouse embryonic stem cells (mESCs), shows his work in studying mESCs in application to spatial organization of different germ layers in animal body plans. His series is broken into three posts:

  • Gastruloid 1: Segmenting and Quantifying Morphology
  • Gastruloid 2: Spatial Organization of Cell Population at 72 Hours of Development
  • Gastruloid 3: Tracking Bulk Motion of Cells

Wolfram Language Paclet RepositoryThe Wolfram Language Paclet Repository offers additional tools to be used within Wolfram Language. Check out the current available biology paclets to bolster your computational biology work, including CompartmentalModeling and StickyDBSCAN. You can help build the Repository by submitting your own paclets.

Find Your Computational XWolfram has always been committed to pushing boundaries in pursuit of the idea of computational X, or the coming together of technology and the rest of the world. The Wolfram Language we know and love today was founded on the basis of supporting Stephen Wolfram’s passion for physics. This idea of pushing boundaries in different fields is carried through by the efforts of Wolfram developers, who strive to make exciting breakthroughs with every new version, and the users, who share their own projects and discoveries.

Looking for more great resources to find your computational X? Check out our collection of courses at Wolfram U and varying events and workshops to learn more about Wolfram Language and its different application areas. If you’re currently working on a project, be sure to share it to Wolfram Community to connect with other computational scientists.

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

It’s no secret: quantum computing has been poised to be “the next big thing” for years. But recent developments in the quantum ecosystem, including major investments by companies such as IBM, Google, Microsoft and others, are the best indicators that now is the time to begin preparing for potentially viable quantum applications—and to identify where and when to most effectively use them.

View Details

At Wolfram Research, we are excited for the April 8 total solar eclipse and plan to observe this extraordinary event in several ways. Read about the science and math of this rare phenomenon in Stephen Wolfram’s new book, Predicting the Eclipse: A Multimillennium Tale of Computation, and then find eclipse specifics for your location with the Wolfram precision eclipse website. Now that you know why and where, prepare for your upcoming watch party with these Sun-related recipes using two new functions from the Wolfram Function Repository: RecipeGraph and NutrientComparisonBarChart.

RecipeGraph relies on a large language model (LLM) to help create a graph of the ingredients and instructions for a recipe. The recipe ingredients and instructions form the vertices of the graph. The edges (lines connecting the vertices) represent the flow of the preparation and cooking process. Each ingredient connects to the instruction in which it is used. NutrientComparisonBarChart creates a dual bar chart comparing the calories and macronutrients (protein, carbohydrates, fat and fiber) in a list of foods.

Now you’re ready to celebrate. Prepare your favorite recipes, grab your ISO-compliant eclipse glasses and make special memories with family and friends on this historic occasion.

Sunshine Smoothie and Sunny-Side-Up EggsRise and shine the day of the eclipse with a sunshine smoothie and sunny-side-up eggs:

If you’re limiting carbohydrates or maximizing protein, NutrientComparisonBarChart is an efficient way to compare relative carbs and protein per gram of food, so you can make informed nutritional choices for your smoothie. We’re using the "SolarColors" chart style in recognition of the eclipse:

Customize your sunny-side-up eggs graph with chart style options:

Sunflower Seed GranolaThe kids can help celebrate the eclipse by mixing the ingredients for baked granola with sunflower seeds. They can stir in chocolate chips after baking for an extra treat. Use NutritionReport to assess this nutritious after-school snack:

This recipe yields 20 servings of 1/3 cup each, for about 200 calories and 4.5 grams of protein per serving:

Sunburst Salad and Sun-Dried Tomato Baked PastaMake a tasty eclipse-themed dinner of sunburst salad and baked pasta with sun-dried tomatoes.

Use the LLM to create the salad recipe:

Use ImageSynthesize to create an original sun image for the vertices of the baked pasta graph:

To Learn MoreVisit the Wolfram Function Repository to learn more about these resource functions:
  • RecipeGraph
  • NutrientComparisonBarChart
  • NutritionReport
  • FoodCompassPlot
  • TotalSolarEclipse2024Explorer

| Visit Wolfram Community or the Wolfram Function Repository to embark on your own computational adventures! |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

This year’s Global Astronomy Month is off to an exciting start for North America in anticipation of the total solar eclipseon April 8. In light of this momentous event, the following is a list of resources that bring Wolfram Language and astronomy together—including expert video guides, projects and books—for computational astronomers at every level.

Level 1—Learn about Computational AstronomyWolfram Precision Eclipse ComputationWatch astronomical phenomena in action on April 8. This total solar eclipse will be the last one visible from North America until 2044. You can find out exactly when the eclipse will be visible to you using the Wolfram Precision Eclipse Computation website. Simply plug in your location and get your ISO-compliant eclipse glasses ready.

Science & Technology Q&A for Kids & OthersIf you’ve ever wondered why black holes don’t collapse in on themselves or about the gravitational limits of a planet, we suggest participating in Stephen Wolfram’s livestreams for the chance to learn about varying topics in the world of science and technology and for a behind-the-scenes look into his life and work. His weekly Science & Technology Q&A for Kids & Others is an open, live Q&A session dedicated to answering your questions.

While the streams are not bound to a single topic, part 140 looks into dark matter, light and other space-related topics. Part 107 features an in-depth conversation about black holes and light, and part 109 looks at questions about gravity and pressure in the vacuum of space. These livestreams will surely intrigue anyone looking to learn more about space!

Do you have more space or other questions for Stephen? You can submit a question to be answered in a future Science & Technology Q&A for Kids & Others or History of Science & Technology Q&A livestream.

Wolfram Demonstrations ProjectThe Wolfram Demonstrations Project offers more than 12 thousand interactive Wolfram Language Demonstrations in varying fields, including over two hundred astronomy Demonstrations. Manipulate and learn from unique Demonstrations like the following.

View of Our Solar SystemBy: Becky Johnsen

Johnsen’s Demonstration explores the relative distances between the Sun, planets and the dwarf planet Pluto. All bodies are shown larger than scale size but in correct relative proportion except for the Sun and Pluto (for aesthetic reasons).

How Old Would You Be on Another Planet (or Pluto)?By: Chris Boucher

The planets in our solar system (and Pluto) rotate on their axes at different rates and take differing amounts of time to complete an orbit of the Sun. Boucher’s Demonstration allows you to calculate how old you would be on different planets (and Pluto).

Make Your Own Solar SystemBy: Stephen Wolfram

Wolfram’s Demonstration allows you to create your own 3D solar system by adjusting the size of a central star and the sizes and distances of four planets.

Wolfram|Alpha Example QueriesIn addition to being an ever-expanding searchable database with knowledge spanning the computation of physics mechanics to providing detailed timelines for historical events, Wolfram|Alpha also gives topical example queries to get your research started in the right direction. Check out the collection of space and astronomy examples to start researching astronomical events and learn to calculate astrophysics problems.

Level 2—Experimenting with Computational AstronomyIf you’re already an astronomy whiz and are ready to move on to more advanced Wolfram Language computations, you will find these projects offer the inspiration you need to move forward with your exploration.

Wolfram Demonstrations ProjectMore advanced Demonstrations are available for those looking to observe and interact with different astronomical concepts.

Phases of PlanetsBy: Jeff Bryant

Like the Moon, planets can also have phases. Bryant’s Demonstration offers a view of Mercury, Venus and Earth when viewed from any of these three planets. Planets in inferior orbits undergo complete phase changes like the Moon when viewed from a planet with a superior orbit. Planets in superior orbits only go though minor changes in phase when viewed from a planet with an inferior orbit.

Solar and Lunar EclipsesBy: Jeff Bryant

A solar eclipse occurs when the Moon’s shadow moves across the face of the Earth. Similarly, a lunar eclipse occurs when the Earth’s shadow moves over the Moon. Bryant’s Demonstration allows you to see a model of solar and lunar eclipses by adjusting the position and distance of the Moon.

Life Cycle of a StarBy: Allison Jung

Stars evolve from birth to death much as animals or plants do. New stars form in stellar nebulae, made of clouds of plasma, hydrogen and helium. The lifetime of a star varies according to its mass; more massive stars have shorter lifespans than average-sized stars. The dividing line between the two types is around eight times the mass of the Sun. Jung’s Demonstration shows the life cycles of stars by adjusting an average and massive star’s evolutions.

Astronomy Functions in Wolfram LanguageWolfram Language 13.2 introduced several new astronomy-focused functions, including AstroPosition and AstroGraphics, for getting started as a computational astronomer. Version 14 overhauled the function SolarEclipse, which performs detailed local computations for solar eclipses—just in time for calculating the 2024 North American solar eclipse. The 14.0 feature pages give you a chance to experiment with all of the functions released in this version. You can also use the Astronomical Computation & Data guide for a full list of astronomical functions and available data.

For a deeper dive into the astro features, be sure to check out our streams and video walkthroughs with Wolfram’s developers. Join José Martín-García on “More in Astronomy: Eclipses” and Tom Sherlock on “Astrophotography Image Processing Workflows.”

For an even closer look at all the astro features, take a look at our Live with the R&D Team livestream on astro computation, where researchers José Martín-García and Jeff Bryant discuss reference frames, time systems and different application examples like visualizing solar eclipses or computing the position of Jupiter’s barycenter.

Wolfram Function Repository For more unique ways to incorporate your astronomy research and Wolfram Language skills, you can visit the Wolfram Function Repository to explore and share your own astronomical functions:

  • StellarSpectralClassData
  • MilkyWayPlot3D
  • SolarSystemPlot3D

Here are some ready-to-use examples from the Wolfram Language Example Repository to experiment with:

  • How Big Are Exoplanets Compared to Stars?
  • Plotting Moon Phases
  • Rediscovering Kepler’s Third Law

Featured Wolfram Community PostsIt’s no secret that Wolfram Community is one of the best places to learn about others’ projects and share or find help with your own work. These recent Community posts are a sampling of some of our favorite astronomy projects.

A System for Modeling Space Debris Collision[Wolfram High School Summer Research Program 2023]By: Shubhan Bhattacharya

The Wolfram High School Summer Research Program is a two-week, high-school program designed to push students in STEM fields through lectures, guided activities and hands-on workshops. Bhattacharya’s final project for the 2023 program featured an evaluation of the Kessler syndrome and tracking satellites to model potential collisions.

Exploring Solar Imagery
By: Jeff Bryant

Bryant uses his function SolarImage to color and process images of the Sun (originally retrieved from the Helioviewer Project). His results are bright, colorful and dynamic images and videos of the center of our solar system. His post was accompanied by the following post, “Imaging the Sun from SDO Orbital Telescope Extreme Ultraviolet Data” from Vitaliy Kaurov. Be sure to check out Bryant’s other solar-related projects, including “Exploring the Origins of Space Weather.”

Imaging the Sun from SDO Orbital Telescope Extreme Ultraviolet DataBy: Vitaliy Kaurov

Written to follow Bryant’s post on exploring solar imagery, Kaurov explores the history and tools behind the Solar Dynamics Observatory’s quest in capturing images of the Sun.

Featured PublicationsPredicting the Eclipse: A Multimillennium Tale of Computation
By: Stephen Wolfram

While eclipses were initially perceived as mysterious omens, modern astronomers can predict them to within one second of their appearance. In his book Predicting the Eclipse: A Multimillennium Tale of Computation, Stephen Wolfram discusses the history of studying eclipses, using the April 8 North American eclipse as a case study, and the impact of this work on the development of science and technology, from witnessing the stars to soaring among them.

Level 3—Computational Astronomy ResearchFor those looking to go even further with advanced astronomy research, the following publications offer in-depth analyses to push your work to the next level.

Featured Community PostsAncient Plagiarism? An Analysis of Claudius Ptolemy’s Star Catalog
By: Christopher Wolfram

Wolfram reviews one of history’s oldest star maps and potential star scandals from Claudius Ptolemy. This Alexandrian scientist is the author of one of the most influential scientific works, the Almagest. Wolfram reviews the history of the text as well as the notion of plagiarism from an even earlier astronomer and compares the works of the two.

Testing the Speed of Gravity with Black Hole RingdownBy: Sergi Sirera Lahoz

Lahoz shares his calculations as he investigates how the speed of gravitational waves can be tested with upcoming black hole ringdown observations. He shares how the different elements of black holes affect calculations and the environment surrounding them.

Possible Spacetime Discretization in Astrophysical Phenomena[Wolfram Science Winter School 2023]
By: Vittoria Tommasini

The annual Wolfram Science Winter School gives students an opportunity to participate in research projects with Stephen Wolfram and other Wolfram employees, in addition to developing their own research projects with a team of Wolfram mentors.

Tommasini featured a unique look into computational astronomy with her independent project that focused on connecting quantum mechanics on larger-scale objects like black holes. She focused on modeling discretized spacetime geometries for Minkowski and Schwarzschild spacetime graphs.

Effects of Dimensions D ≠ 3 on Galactic Rotational Velocity Curves [Wolfram Science Winter School 2023]
By: John Blakely

In another feature from this year’s Winter School, Blakely worked with the Wolfram Physics Project to evaluate the discrete space dimensional effect on galactic rotational velocity curves by creating a model of the flattened curves for observation.

Featured Publications“Dynamical Gravastars”
By: Stephen L. Adler

Adler’s article, published by Physical Review D, uses Wolfram Language to look into the structure and behavior of gravastars with the Tolman–Oppenheimer–Volkoff equation. You can find a description of Adler’s work and his notebooks on Wolfram Community.

Geometric Optics: Theory and Design of Astronomical Optical Systems Using Mathematica, Second Edition
By: Antonio Romano & Roberto Caveliere

Geometric Optics: Theory and Design of Astronomical Optical Systems Using Mathematica from Antonio Romano and Roberto Caveliere combines the computational abilities of Wolfram Language with the optical elements of astronomy.

Beyond the StarsWolfram has always been committed to pushing boundaries in pursuit of the idea of computational X, or the coming together of technology and the rest of the world. This idea is carried through the world of Wolfram with the help of the Wolfram developers, who work to make each new version as exciting as possible, and the users, who share their own projects and discoveries through Wolfram Community and their own publication sources.

Looking for more great resources to find your computational X? Check out our collection of courses at Wolfram U and varying events and workshops to learn more about Wolfram Language and its different application areas.

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Explore the contents of this article with a free Wolfram System Modeler trial. A wind turbine gearbox, susceptible to erratic wind loads, frequently fails well before its intended lifespan. Such failures, occurring globally, not only cause significant downtime but also lead to substantial economic losses. Can simulations help avoid this?

The first animation delves into the complex dynamics within the rotating shaft; the second showcases the dynamic behavior of bearings under various loads; and the third reveals the subtle flexibilities in bodies, all integral to understanding and improving mechanical performance.In addition to many other exciting updates to Wolfram System Modeler, we just released the Rotating Machinery library. This library is a powerful tool to simulate an array of critical rotating machinery components, such as bearings, gears, flexible shafts and discs, with high precision. These can be modeled both individually and as part of a larger system capturing dynamic behavior with high fidelity.

In this blog, I will delve into the intricacies of wind turbine design challenges and solutions using the Rotating Machinery library. I will also focus the analysis on maintaining gear contact pressures and foundation forces within design thresholds.

In the first part of our experiment, I will show how to model and simulate the gearbox specifics of the widely used ACCIONA wind turbine, specifically the AW-100/3000 model. Using this, I will verify that the gearbox is within allowable stress limits.

In the second part, I’ll incorporate the mast, shafts and blades into the model to check if the gearbox continues to meet the design criteria. Adding these components will enhance the model’s accuracy, allowing it to better reflect the actual dynamics at play.

Part 1: Modeling the Gearbox of a Wind TurbineLet’s begin with an in-depth model of the ACCIONA AW-100/3000 gearbox. The gearbox has two parts: a planetary gear and a three-stage gearbox. We can see the gearbox marked in the following image:

ACCIONA AW-x/3000 nacelle layout (image: ACCIONA)

Using ready-made components from the library, I model the gearbox system, including a planetary gear, a three-stage gearbox, a shaft in between and a corresponding support, as shown in the following. All the specifics of the respective gearbox are defined by parametrizing things like wheel geometries, number of teeth and profile shifting. Now we are ready to simulate and analyze:

In the simulation, I apply a speed profile starting at a standstill and accelerating to the operating speed of 20 rpm, as shown by the blue line in the following figure. We can also see the rotational speed of the sun wheel (i.e. the center wheel) in green and one of the planet wheels in orange:

Other than the expected difference in speeds due to gear ratios, we also see that the planet wheel seems to vibrate a lot compared to the others. This could be caused by backlash between the different wheels; this might be reduced by changing a variable such as the profile shift (i.e. the teeth geometries and gap), but for now, we will focus on analyzing the contact stresses instead.

Let’s start by taking a look at a visualization of the planetary gear and three-stage gearbox. The images are screenshots from the animation in System Modeler. On the left, we see the planetary gear, and on the right the three-stage gearbox. In both cases, I have marked the contact points that I will be studying. I selected these because they had the largest contact pressure when looking at the simulation results:

In the following, I plot the stress acting on the selected tooth contact pairs with the allowable stress limit for AISI 5160 steel, which is one of the steels used in the ACCIONA turbine, 1800 MPa. Notice that the peak contact stresses are greater in the planetary gear but remain below the maximum allowable limit:

But perhaps there is more to the story than this. The following figure shows the contact pressure at the two locations during the same time interval. Observe that the planetary gear (top figure) rotates slower, and, therefore, each contact takes more time. More interestingly, we can also see that there are a lot of vibrations, especially on the planetary gear. Vibrations are often a cause of failure, so this is something that should be investigated further to understand the potential consequences. This investigation would require its own dedicated blog, so I will not include this here. If you are interested in understanding how to do this kind of frequency analysis, you can read this post:

Part 2: The Complete Large-Scale Wind Turbine ModelBuilding on our understanding of gearbox dynamics, let’s move toward a more complete model. This model also includes a flexible rotor with blades, a tower and an additional bearing:

The following image shows a snapshot of the animation that illustrates the combination of the gearbox with a planetary gear and a three-shaft gearbox, providing a more comprehensive understanding of the system. The ACCIONA AW-100/3000 wind turbine model has a 100-meter hub height, which can be modeled by the flexible beam component from the Rotating Machinery library:

In the following animation, we can observe the rotation of each wheel gearbox. It is easy to see that there is a big difference in speed between the blades and the outgoing shaft. In fact, the propeller rotates at 20 rpm, while the outgoing shaft is doing 1560 rpm, corresponding to a total gear ratio of 77.8. The high speed is tuned to maximize the performance of the generator it drives:

In the following plot, we show the rotational velocities of the different components of the planetary gears, just as we did in the first part of the blog. You can observe that there are more vibrations now. These are caused by the dynamics related to the blades, tower and shafts:

The big question is whether these higher vibrations lead to problems with the allowable limit for contact stress. In the following plot, we can see a comparison of the contact pressures from the gearbox-only model (in orange) and the full system model (blue). It is easy to see with the naked eye that we are now much closer to the allowable limit of 1700 MPa. However, the simulations show that we are still within it:

While in this case we still ended up within the limit, the analysis highlights the necessity of paying attention to small details while considering the entire system. This is exactly where the Rotating Machinery library and System Modeler excel.

For more information on modeling wind turbines, check out the Wolfram System Modeler libraries and interact with examples like “High-Fidelity Wind Turbine Mast“

| Don’t miss Wolfram U’s course “Testing and Modeling Turbines, Gears and Drivelines with the Rotating Machinery Library” on Wednesday, March 20. |

View Details

Happy Leap Day 2024! A leap day is an extra day (February 29) that is added to the Gregorian calendar (the calendar most of us use day to day) in leap years. While leap years most commonly come in four-year intervals, they sometimes come every eight years. This is because a traditional leap day every four years is actually a slight overcompensation in the calendar. Thus, a leap year is skipped every one hundred years when those years are not divisible by 400 (this is actually the entire difference between the Julian and the Gregorian calendars).

Leap Years in a Backward-Orbit EarthPhileas Fogg (Around the World in Eighty Days) traveled around the world in fewer than 80 full days from his start in London, but he counted 81 sunrises because he was traveling opposite to the motion of the Sun in the sky. If he had traveled in the same direction, he would have counted 79 sunrises in the same period of time. If the Earth rotated backward, these numbers would be swapped, and Fogg would have needed to travel toward the west to win his bet.

The same phenomenon happens for all of us every year. The Earth travels a full orbit around the Sun in a year and, in the same time, it rotates approximately 366.25 times (this is the equivalent of 80 days for Fogg) with respect to the stars—well, it’s actually with respect to the vernal equinox point, which itself moves too due to precession, but that gets too complicated.

Would We Remove a Leap Day if the Earth Rotated Backward?Because the Earth rotates in the same direction, we count one day fewer, and so we get a year that has, on average, 365.25 solar days. If the Earth rotated backward, we would perceive that a year has 367.25 days!

Let us stop for a moment to measure what a day would be in each case. A full orbit around the Sun takes this amount of time:

It corresponds to this “Foggian” number of our solar days:

If we measure rotations with respect to the stars, we count one more, so the day is shorter:

This is the so-called “sidereal day”:

If the Earth rotated backward, the solar day would have this length:

That is, we would have 367.25 days in a year, but each day would be about eight minutes shorter. Or, perhaps, we should say that days would still have 24 hours, but each one would be about 20 seconds shorter:

It’s so easy to get all these precise numbers with Wolfram Language!

Disclaimer: Due to how the solar system was created, it is unlikely that the Earth would rotate backward, and if it did, tidal friction with the Moon would have given a very different duration of the day. But let us ignore all that here and assume that rotation with respect to the stars would have the same angular speed.

Now we can address our question: would we remove leap days if the Earth rotated backward? No. We see that the number of days in a year would be 367.25, so the natural thing would be to have normal years of 367 days and then add a leap day every four years (with a Gregorian correction!) The main consequence for our standard calendar is that we would have two more days. Presumably, February would also have 30 days in normal years, and 31 in leap years. Wouldn’t that be nicely symmetric with all other months?

Math, Calendars, Leap Days and the Importance of ComputationSo, how many total leap days have there been (including Julian and Gregorian calendars)? Has that math been done, and if so, was it right?

ExplanationThe physical year (i.e. an orbit of the Earth around the Sun) is called a “tropical year,” known to very good precision:

Put another way:

The difference with 365 days and 6 hours is only a bit more than 11 minutes.

This is the number of days (i.e. turns of the Earth with regards to the Sun) between January 1 of year 1 (in the Julian calendar) and January 1 of year 2025 (in the current Gregorian calendar), including one but not the other, so this is 2,024 full calendar years:

The difference with 2,024 tropical years is only 2.8 days:

This is a very good approximation in more than 700,000 days. But where did those 2.8 days come from?

Imagine all years had 365 days. Then 2,024 years would be:

And there would be a difference of more than a full year with respect to the physical counting of years!

The Julian calendar was introduced in 45 BCE to add one day every four years (extending by six hours the average length of a year). Then 2,024 Julian years would be this number of days:

That’s now too much by 15.8 days:

By the end of year 1581, exactly 395 leap days had been added since year 1, which was about 12 days too many:

The Gregorian reform of the calendar removed 10 days in 1582 (the day following October 4 was October 15). The new calendar also changed the rule of how leap days are added, to avoid accumulating 11 minutes of error every year (or, equivalently, one day every 128 years). Years that are a multiple of 100 but not of 400 are not leap years. This has happened so far for years 1700, 1800 and 1900. Therefore, the Gregorian calendar has corrected 13 days of the 15.8 days of error. The difference is the 2.8 days we saw before, most of it from the removal of 10 instead of 12 days. The other 0.8 is essentially because we are close to correcting another leap day in year 2100.

The important comparison is this: In 400 years of the Gregorian calendar, there are 97 leap days added. Therefore, the average year is:

So there is a difference of only 27 seconds per year, to be compared with the more than 11 minutes of error in the Julian calendar:

It will take more than 3,200 years to accumulate a day of error in the Gregorian calendar, while it takes only 128 years to have a day of error in the Julian calendar:

In short, yes, the math has been done… and it wasn’t exactly right—but with more precise computation, we’re getting closer by the second!

(The Newtonian calendar is slightly more precise, but that’s a rabbit hole for another day.)

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Learning quantum theory requires dedication and a willingness to challenge classical assumptions. Quantum interference, particularly for massive particles, is a pivotal example in this journey. The Schrödinger equation, inspired by de Broglie’s hypothesis, revolutionized our understanding by revealing the wavelike nature of even massive particles. This phenomenon not only deepens our grasp of nature but also fuels innovations in quantum applications, from quantum sensing to quantum computing. Yet many students don’t have the opportunity to run experiments that require sophisticated hardware. Not anymore!

The Superposition of Wolfram and InfleqtionWe’re proud to announce a strategic partnership in quantum education today by joining forces with Infleqtion, a global leader in quantum information—heralding a new era in quantum education and research that can address both theoretical and experimental aspects. Together, we’re committed to the design and development of educational materials, combining our computational prowess with Infleqtion’s quantum matter service Oqtant.

This collaboration aims to bring classrooms closer to “quantum everywhere,” making advanced learning tools for quantum systems more accessible. We believe that with this collaboration, a unique educational experience is now possible. There is but one more ingredient that is crucial to providing quantum education: academic partners.

A Call to AcademiaWe are calling upon academic institutions and educators to join this exciting initiative. Joint partnership offers access to Infleqtion’s Oqtant platform and Wolfram Language, providing an unprecedented opportunity to explore quantum mechanics through hands-on experience and interactive learning. Academic partners will receive Wolfram Language licenses and limited sponsored access to Oqtant to foster research and development in quantum education.

Interacting with phenomena is a key component of science education. We envision educational materials where students use Infleqtion’s Oqtant quantum matter service to run experiments with real quantum hardware and analyze the results and theoretical models in an interactive Wolfram Notebook.

We invite academic institutions, researchers and educators passionate about quantum education to partner with us in this venture. Together, we can shape the future of quantum education, making it more interactive and accessible for students around the world.

For academic inquiries and more information on how to get involved, email quantum@wolfram.com.

Letting the Cat out of the BagExploring Experiments with Modern ToolsLet’s try to get a taste of how modeling tools provided in Wolfram Language can help with understanding and modeling the types of experiments students can run using the Oqtant API from Infleqtion. Many students will be familiar with the Schrödinger equation from introductory courses on quantum mechanics. Bose–Einstein condensates (BECs), the system accessible through the Oqtant API from Infleqtion, can be modeled by a nonlinear version of the Schrödinger equation. The source of nonlinearities in the Gross–Pitaevskii equation arises from the interaction term representing the mean-field effects of BECs, and they are not a fundamental correction to the Schrödinger equation.

Unlike the linear version of the Schrödinger equation, numerical techniques are immediately needed to solve the resulting equations. By studying systems like those accessible through Oqtant, students gain practical skills working with real experimental systems, theoretical modeling and numerical simulations.

Utilizing BECs in quantum education is invaluable for several reasons. Firstly, BECs provide a tangible platform for exploring fundamental quantum principles, allowing students to observe and manipulate quantum phenomena firsthand. This hands-on experience fosters a deeper understanding of concepts such as superfluidity, coherence and quantum entanglement, which can be challenging to grasp solely through theoretical study. Additionally, BEC experiments often involve interdisciplinary techniques, exposing students to a range of scientific methodologies and encouraging collaboration across scientific disciplines. Furthermore, by engaging with BECs, students gain practical skills in experimental design, data analysis and problem solving, preparing them for future careers in quantum research and technology development.

Let us start with a simple case of a nonlinear, time-dependent Schrödinger partial differential equation (PDE) operator in 1D:

Define the boundary and initial conditions:

Compute the solution of the Schrödinger time-dependent equation:

Plot the absolute value of the solution:

Including a harmonic potential term makes this 1D example qualitatively similar to a 3D BEC. Strictly speaking, BECs cannot exist in one-dimensional systems; nonetheless, the 1D equation can serve as a valuable pedagogical model:

Find the solution:

Plot the absolute value of the solution:

When comparing to the previous case without a harmonic trap, it’s evident that the trap effectively confines particles around its well, demonstrating its clear influence on the system.

Let’s examine a more realistic scenario, where the system exhibits axisymmetric region symmetry, represented by a truncated cylindrical coordinate system that eliminates the angular variable while retaining radial and axial coordinates:

Set the boundary condition and the initial state:

Compute the solution:

You can see how an initially localized wavefunction spreads out over time when not confined by a trapping potential:

Let’s change the initial state to a superposition of two Gaussians in order to observe interference patterns that emerge from the overlap of two wave packets:

Find the solution, given the previous initial condition:

Even though hardware for creating a BEC is a real 3D system, visualizing the process along just the “main” axis helps make the connection with 1D problems clear for students. As time passes, you can observe interference patterns that emerge:

Since the modeling of the system is done in 3D, you can also look at 2D slices through the “middle” of the system:

Alternatively, you can show the full 3D picture:

It’s important to note that a full 3D image is quite difficult to achieve in an experimental setting with systems like these. Typically, one would have sensors that look at the 3D phenomena from a particular direction and can give an “integrated picture” of the density.

To Infinity and Beyond!Of course, this is only the beginning of the interesting modeling one can do. By combining data from numerical simulations and the Oqtant service, educators can give students hands-on experience with skills that will prepare them for the quantum-literate workforce of the future. Not only will students gain strong computational skills using Mathematica, they will also learn details of quantum experiments and using the theory to handle real experimental data.

| For more information on how to partner with us and take part in this quantum leap in education, please contact us at quantum@wolfram.com. |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Practical quantum computers have not entered the mainstream, but that has not stopped researchers and developers from innovating. Simulating quantum results on classical hardware and getting meaningful results from noisy quantum hardware are two important areas with lots of recent innovations.

The Wolfram Quantum Framework is a toolkit for Wolfram Language that offers quantum simulations. The Framework brings quantum experimentation to anyone and opens the door for more research and development of quantum algorithms. This can also be used to connect with external cloud services such as Amazon Braket or IBM Quantum for an even closer look at what running on quantum hardware could be.

Reducing the Chance of Misfires with Fire OpalBecause of the presence of environmental noise, quantum processing units (QPUs) are susceptible to “misfires,” potentially leading to erroneous outcomes when executing a quantum algorithm on a QPU. To address this challenge, Wolfram has partnered with Q-CTRL, making it easier than ever to get useful results out of quantum hardware.

Q-CTRL’s Fire Opal offers a support system that automatically includes error-suppression techniques as the quantum circuit is translated to hardware-specific instructions, and also runs on a QPU. This greatly increases the probability of obtaining an accurate result from the intended algorithm and makes it possible to successfully run more complex algorithms. The following graph shows the improvement in QPU results using Fire Opal when compared with exact predictions of quantum theory for this phase estimation algorithm:

The preceding graph shows an example of what the QPU results look like both with and without Fire Opal in comparison with the exact predictions by the Wolfram Quantum Framework.

Please note: To run the complete code sequence presented in this post, an API to a quantum cloud service provider is required. Download the notebook here to interact with the complete post.Computing the Quantum Theory PredictionsThe Wolfram Quantum Framework allows you to easily specify quantum circuits and analyze their behavior as predicted by quantum theory. The framework is developed as a paclet in the Wolfram Paclet Repository and can be installed by running the following code in a notebook:

After installing and loading the paclet, create a circuit to implement the standard phase estimation algorithm for a given operator—in this case, a phase operator with the angle 2π/7:

You can show the diagram of this circuit by simply asking for the "Diagram" property of the circuit operator:

Next, compute the measurement probabilities for each outcome as predicted by quantum theory. In this case, the results have also been numericized for a speedier result. If you want the exact results, don’t use N on the circuit; simply use qc[]. The result is returned as a quantum measurement object:

From the measurement object, you can plot the probability of each outcome:

Connecting to Quantum Hardware Service ProvidersConnections to external services (such as quantum hardware access) can be utilized by establishing a service connection. If you want to use an IBM backend, create an IBM Quantum account.

To create a new connection to IBMQ, you can use the following code:

The first time you attempt to connect to a service that requires an API token, you will see the following window appear:

If you choose to save the connection, you can simply use ServiceConnect["IBMQ"] the next time that you want to connect on the same system.

After the connection is established, you can ask for the queue of all available backends:

With the service connection established, running a circuit can be as simple as the following code structure:

Note that you must replace backend with an actual QPU name, such as "ibm_kyoto".

However, this simplest method requires waiting for the job to complete and receiving a response before proceeding with any further computations. This will mean your kernel is busy waiting for a response from the hardware provider.

If you want to do other local computations while waiting for the submitted job to complete, one method is to use a separate kernel to send the request and handle the response. The following code does this and assigns the result to the variable qpu in the current kernel session:

Note that the wait time for QPU providers to provide responses can vary quite a lot, and is dependent on the queue for the specific backend. Once the job is done, you can also check on results using the service connection and the appropriate job ID:

If you already know the job is done and want to store the results in the variable qpu, you can use the appropriate job ID and perform some post-processing to get the data into shape:

With results in hand, you can visualize them as a bar chart:

Fine-Tuning with Fire OpalSo far, you have just seen how to use a service connection to run your circuit on quantum computing hardware. Using Fire Opal as part of the process is as simple as adding another option. Set the "FireOpal" parameter to True when providing a method option to your quantum circuit operator. Running the code with a valid circuit operator and specified backend will prompt redirection to the Fire Opal webpage, where login is required:

One can first validate the compatibility of circuits for Fire Opal. Note that by default Fire Opal’s “validate” feature is not active. For example, the following circuit returns an error:

As before, you may want to utilize a separate kernel or other method to avoid keeping your system busy waiting for the response from the QPU provider. Remember to fill in the parameter for the desired backend before running the code:

If the job is already done, you can retrieve past results in the same way as before, this time storing them in the variable fireOpal:

As before, you can visualize the results:

If you want to immediately analyze the results of an experiment without submitting your own jobs to QPUs, you can use the results here from one experiment:

The exact results are computed using the Wolfram Quantum Framework and are the probabilities one would expect from the mathematics of quantum theory. They provide a nice baseline for comparing what comes back from the inherently noisy QPUs of today. One set of measurements for the phase estimation circuit in the first section was done without using Fire Opal, and another set was done using Fire Opal.

Combine the results and visualize them in a bar chart for easy comparison:

Fire Opal’s improvement of the experimental results is visually evident as the expected peak at a particular measurement outcome. Notice how the theoretical result for this circuit is sharply peaked at one particular measurement value, while the hardware without Fire Opal provides a much greater deviation from the expected results.

Reviewing the ResultsTo compare the results of the phase estimation quantitatively, one can choose from a variety of statistical tests.

For example, one can compute how “different” one distribution is from another using the Kullback–Leibler divergence. Smaller numbers of this quantity indicate the two distributions are more similar. Compare the results both with and without Fire Opal to the exact reference distribution:

Another test to consider is the Kolmogorov–Smirnov test. The convention for this function is that larger numbers indicate it is more likely the results are from the exact reference distribution:

Finally, let’s compute the Hellinger fidelity as a measure of the distance between distributions. Smaller numbers of this quantity indicate the distributions are more similar:

With three different quantitative evaluations to support our work, Fire Opal has proved itself to be a valuable resource to improve the accuracy of the quantum circuit extension when running on a QPU.

The Future of Quantum ComputingAs quantum hardware advances, the possibilities for quantum computing become more exciting. Using the Wolfram Quantum framework for algorithm design, cloud service providers for quantum hardware access and Fire Opal for increased hardware performance, it has never been easier to innovate.

| For more information on how to partner with us and make your own quantum noise, please contact us at quantum@wolfram.com. |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Hypergeometric series appeared in the mid-seventeenth century; since then, they have played an important role in the development of mathematical and physical theories. Most of the elementary and special functions are members of the large hypergeometric class.

Hypergeometric functions have been a part of Wolfram Language since Version 1.0. The following plot shows the implementation timeline of different hypergeometric functions during the evolution of our system:

The Gauss hypergeometric 2F1, Kummer hypergeometric 1F1 and confluent hypergeometric 0F1 functions were implemented in Wolfram Language Version 1.0, and in Versions 3.0, 4.0 and 7.0, powerful updates were made that implemented four very general functions: the generalized hypergeometric pFq function, the “monster” superfunction MeijerG, the AppellF1 function and the so-called q-hypergeometric function, implemented as QHypergeometricPFQ. All these general functions significantly increased the integration, summation and other symbolic manipulation capabilities of Wolfram Language.

During the last three years, we have made a strong effort to implement the remaining computable hypergeometric functions. Three Appell functions (AppellF2, AppellF3 and AppellF4) were implemented in Version 13.3; further generalization of MeijerG—the FoxH function—was implemented a little earlier, in Version 12.3; and, finally, for Version 14.0, we’re presenting the doubly infinite hypergeometric function of one variable—the so-called bilateral hypergeometric function—as BilateralHypergeometricPFQ.

A Bit of HistoryThe term “hypergeometric series” appears to have first been used by John Wallis in his 1655 book Arithmetica Infinitorum, and then these hypergeometric series were treated by Leonhard Euler.

Starting from the works of Carl Gauss and continuing with Ernst Kummer, Bernhard Riemann, Paul Appell and other great scholars, these functions were systematically studied, along with the differential equations they satisfy and their vast applications in different engineering, physical and other applications.

Hypergeometric SeriesA hypergeometric series is a power series , where the ratio of successive coefficients is a rational function of n (, where A(n) and B(n) are polynomials in n).

Let’s take a look at the Taylor series of the exponential function:

Calculate the ratio of successive coefficients (this can be done via DiscreteRatio):

This ratio is obviously a rational function of n, and for this case A(n) = 1, B(n) = n + 1, hence the Taylor series of Exp is hypergeometric.

In fact, various well-known series are hypergeometric, so having a comprehensive theory of such series-based functions is interesting as well as very useful in different areas of science. So let’s switch to the class of hypergeometric functions and start with the leading one—the generalized hypergeometric function pFq—and then move on to the well-known Kummer 1F1 and Gauss 2F1 hypergeometric functions that frequently arise in different physical and mathematical applications.

The Generalized Hypergeometric FunctionThe main function of the hypergeometric class is the generalized hypergeometric function pFq, which is defined by the following series:

where (ai)n is the Pochhammer symbol or the rising factorial.

The ratio of successive terms of pFq is obviously rational:

The generalized hypergeometric function pFq is implemented in Wolfram Language as HypergeometricPFQ[a;b;z]. Here, the number of parameters in the a and b lists is not fixed; they might even be empty lists.

The q-analog of pFq is the basic hypergeometric function rΦs, which has the series expansion

where (a;q)n is the q-Pochhammer symbol. The basic hypergeometric function rΦs, implemented in Wolfram Language as QHypergeometricPFQ, becomes the generalized hypergeometric function pFq in the limit q → 1.

pFq plays an important role in the theory of differential equations. A large set of ordinary differential equations (ODEs) can be solved in terms of pFq functions (we refer to such equations as hypergeometric ODEs). Following, we present such an ODE that is solved in terms of pFq functions:

pFq has a well-developed theory and various fundamental applications in science (one might take a look at the Applications section of the HypergeometricPFQ reference page).

Another remarkable application example is the trinomial equation xnx + t = 0 that, in the general form, is solved in terms of pFq functions:

The trinomial equation has n roots. Let’s generate one of them for, say, n = 5 and t = 2:

Now we generate a table of five solutions and check that they really solve the trinomial equation:

pFq is extensively used for integration and summation as well as for symbolic expression simplification. For example, here is a seemingly simple integration example:

And here is an example of an infinite sum:

Other hypergeometric functions can be written in terms of HypergeometricPFQ:

The following table shows some special cases of pFq:

Although pFq is a very general and important function, its special cases are even more popular. They significantly affected mathematical and physical theories of the nineteenth and twentieth centuries. Two of the most famous special cases are the Gauss hypergeometric function 2F1 and the Kummer confluent hypergeometric function 1F1.

Gauss Hypergeometric FunctionThe well-known 2F1 function is defined by the following series:

It is a solution of the Gauss differential equation, which is a singular second-order linear ODE:

ComplexPlot3D demonstrates the pole of 2F1 at the singular point 1:

Why is this function of fundamental importance? Because every second-order linear ODE with three regular singular points can be transformed to it, hence the Gauss differential equation is the “basic” ODE with three singular points.

Second-order linear ODEs with a low number of singularities (the majority of ODEs that describe some physical phenomenon) can often be treated as special or limiting cases of the Gauss hypergeometric equation. This means that the powerful 2F1 incorporates most of the known special functions as special cases, including the famous Bessel functions, Legendre polynomials and others.

More information about the second-order linear ODEs, their solutions and their singularities is available in the author’s earlier blog post, titled “From Sine to Heun,” as well as a comprehensive tutorial on Wolfram Language’s DSolve function.

Aside from its mathematical importance, the Gauss hypergeometric function has various applications in physics, statistics and other areas of science. The twentieth-century quantum mechanical potentials can typically be solved in terms of hypergeometric functions.

Some of the applications are presented on the reference page of Hypergeometric2F1.

Kummer Confluent Hypergeometric FunctionThe confluent hypergeometric function 1F1 is defined by the following series:

It is a solution of the Kummer confluent differential equation xy"(x) + (bx)y'(x) – ay(x) = 0. This differential equation can be obtained from the Gauss differential equation for 2F1 via the complex procedure of merging two regular singularities (coalescence).

The radial wavefunction for the continuous spectrum for the hydrogen atom is written in terms of the 1F1 function:

Here is a plot of the solution:

Plotting the solution in 3D gives more insight about the behavior of the radial wavefunction for the hydrogen atom:

Finally, here is a differential equation that can be solved in terms of 1F1:

Hypergeometric Functions of Two VariablesSo far, we’ve talked about hypergeometric functions of one variable. pFq is a very general function with an unlimited number of parameters, but it has only one argument. What if we turn to hypergeometric functions of two or more arguments? Does that make sense?

The answer is yes. Further extensions to two or more variables are possible and yes, they open some new possibilities.

The first class is the Appell hypergeometric functions of two variables, named after French mathematician Paul Émile Appell.

Appell was a remarkable French mathematician who contributed to various fields of mathematics (projective geometry, algebraic functions, differential equations, complex analysis, etc.). Appell polynomials and Appell’s equations of motion in mechanics are named after him. Appell hypergeometric functions were introduced by him in 1880, and in 1926 he authored a treatise on these functions with another famous French mathematician, Joseph Kampé de Fériet:

There are four Appell functions. These functions have the following double series definitions around the origin (presented here with their convergence regions):

Appell functions reduce to Hypergeometric2F1 when x = 0 or y = 0.

As noted earlier, AppellF1 was introduced in Wolfram Language 4.0 back in 1999, while we’ve implemented the AppellF2, AppellF3 and AppellF4 functions only in 2023 in Wolfram Language 13.3.

Here are plots of a family of AppellF2 functions:

The series expansions of Appell functions can be written in Hypergeometric2F1 functions:

As with HypergeometricPFQ, we use AppellF1 for integration:

And here is another general example of a whole class of integrands:

All four Appell functions solve the corresponding Horn PDEs with polynomial coefficients (we might think about these PDEs as a generalization of Gauss hypergeometric ODEs). This is the PDE that AppellF3 solves:

And as for HypergeometricPFQ, many elementary and special functions are to be considered as special cases of the Appell functions:

Even More General Hypergeometric Functions The Appell functions are the first four functions in the set of 34 Horn hypergeometric functions of two variables.

The Appell functions are special cases of the Kampé de Fériet function, which is the general hypergeometric function of two variables. The Kampé de Fériet function can be used to represent the derivatives of pFq with respect to parameters and multiple integrals of the Meijer G-function.

Further hypergeometric generalizations to n dimensions include the Lauricella functions, which are very general and very complex. For n = 2, they reduce to the Appell F1–F4 functions, while for n = 1 we get the 2F1 Gauss hypergeometric function.

Bilateral or Doubly Infinite Hypergeometric Series Another generalization of the hypergeometric pFq function is the doubly infinite hypergeometric function (the bilateral hypergeometric function). It is written as

with a very similar definition to pFq except that for the bilateral series, the sum is computed from negative infinity to infinity. This function is available in Wolfram Language 14.0 as BilateralHypergeomtricPFQ.

There are two completely different subcases of the bilateral hypergeometric function: the “good” case when
p = q (i.e. 2H2) and the “bad” case when pq.

For the first case, we can think about the bilateral function as a sum of two ordinary generalized hypergeometric functions. For example:

In the following, we calculate the value of 2H2 (1/2, 3/4; 1/4, 1/3; 5.4) and plot this function:

And for this “good” case of BilateralHypergeometricPFQ, simplifications are possible:

For the second case, where *p* ≠ *q*, the bilateral hypergeometric series is divergent. Usually for the calculation of such sums, various regularization methods are used. The blog post “The ABCD of Divergent Series” gives comprehensive information about this topic.

For calculation of the bilateral hypergeometric function, we use the Borel regularization technique:

Following is the series expansion for BilateralHypergemoetricPFQ at the origin:

The bilateral hypergeometric series has its unique and important role: it can be used for summing doubly infinite series:

So to sum a doubly infinite series, we internally first sum it to BilateralHypergeometricPFQ (as in the previous example) and then, where possible, simplify it—as in the following example:

The use of BilateralHypergeometricPFQ gives a huge speedup in the summation of doubly infinite hypergeometric series. As an example, the summation of the previous series in Wolfram Language 13.3 (without using BilateralHypergeometricPFQ) took more than 46 seconds, but now we’re able to reduce the calculation time by a factor of 1,000!

Closing WordsHypergeometric functions have been at the core of Wolfram Language since the first version was launched more than 35 years ago. We constantly improve them, along with implementing new ones.

Version 14.0 contains the whole set of hypergeometric functions of one variable; the four Appell functions; the bilateral hypergeometric function and related ones (the monster superfunctions MeijerG/FoxH and others); and the q-analog of pFq—the basic hypergeometric function rΦs.

It seems that we now have an almost complete “hypergeometric” infrastructure needed by researchers. This infrastructure includes powerful symbolic and numeric computational abilities as well as documentation that is being updated in almost every new version of Wolfram Language.

To close this blog post, we would like to thank all the Wolfram Research developers that contributed to this huge project.

Download your 14 now! » (It’s already live in the Wolfram Cloud!)Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

In days past, life sciences was reserved for those who had access to the proper equipment to observe and experiment with the organisms of the physical world. For today’s scientist, exploration doesn’t end with access to physical encounters. Whether you’re classifying an animal for the first time or using a protein visualizer to develop medication, Wolfram Language holds the tools and power to support your computational life science endeavors. The following is a collection of biology resources, projects and functions in Wolfram Language for any skill level.

Level 1—Learn about Computational BiologyThe fields of life science cover a lot of ground—understandably so, given how expansive life itself is. Begin your computational biology journey with basic educational tools and virtual experiments.

Science & Technology Q&A for Kids & OthersStephen Wolfram’s Science & Technology Q&A for Kids & Others is a weekly stream where Wolfram answers questions in hopes of breaking down the complexities of science and technology in an approachable way for those unfamiliar.

Each stream is an impromptu discussion that is not bound to a particular topic, but often finds common themes as the discussions unfold. Episode 120 features an in-depth look into DNA, genetic engineering and neurology. In episode 121, Wolfram looks into synthetic biology and the future of biotechnology. Have a question? You can submit your own questions to be answered in a future stream.

Wolfram|Alpha Example QueriesWolfram|Alpha’s searchable database gives budding computational scientists the tools to find reliable information and calculations to support just about any field of work—including biology and life sciences. Example queries for biology are available to instantly learn about anatomy, taxonomy and genomics.

Wolfram Demonstrations ProjectThe Wolfram Demonstrations Project offers more than thirteen thousand interactive Wolfram Language Demonstrations in varying fields, including nearly two hundred biology Demonstrations. Set unique conditions and watch experiments unfold from Demonstrations like the following.

The Cell CycleBy: Rachel Lian and Stacy Hu

This Demonstration shows a visual model of the phases of mitosis.

DNA ReplicationBy: Priyanka Multani

Multani’s Demonstration shows how the DNA helix unwinds and uses the old DNA strand as a template to create two daughter helices.

3D Skeletal Anatomy of the ArmBy: Stewart Dickson

Dickson’s Demonstration offers an interactive skeletal model of the human arm—complete with rotating views and highlighting of different bones for easy identification.

Predator-Prey Dynamics with Type-Two Functional ResponseBy: Wilfried Gabriel

Gabriel’s Demonstration uses simplified Lotka–Volterra equations to demonstrate simple predator-prey cycles. You can adjust the model by altering each part of the equation from predator competition to prey death rates.

Latest Features in Wolfram LanguageWhen you’re ready to start creating your own computational life science experiments, Wolfram Language’s biology functions give you the power to build an interactive stage for exploration and experimentation. The most recent published entities include:

  • "TaxonomicSpecies"—This feature offers detailed information for the taxaof plants, animals, microbes and more.

  • AnatomicalStructure—This feature offers detailed information for more than ninety thousand human anatomical parts.

Wolfram Function RepositoryThe Wolfram Function Repository offers an ever-expanding collection of Wolfram Language functions developed by both Wolfram teams and users. With over 2,500 functions available, there are plenty of biology tools to go around for the computational biologist.

  • DNAAlignmentPlot creates a colorful visual for DNA sequences.
  • TaxonomicNearest generates taxato the nearest taxon.
  • FoodWeb generates graphs displaying predator-prey relationships for a given animal.
  • TaxonomyGraph displays a taxonomy graph for a given species.

Wolfram System Modeler—Bio Chem LibraryWolfram System Modeler is an interactive modeling lab that gives you the chance to run dynamic simulations for varying environments. The Bio Chem library offers modeling, simulation and visualization of biological and biochemical systems. You can learn about how the Bio Chem library is used for safe drug research and development with FDA-approved models.

Level 2—Experiment with Computational BiologyComputational biology in Wolfram Language doesn’t stop with informational entities and projects. The following resources show applications for using Wolfram technologies to complete life science experiments and research.

Wolfram|Alpha Biology TeamThe Wolfram|Alpha biology team walks through its more advanced content and features in livestreams, Wolfram Technology Conference talks and blog posts.

Video Walkthroughs

  • New Biology Content in the Wolfram Language
  • Computational Taxonomy (Biology)
  • Representing Biological Sequence Data in the Wolfram Language

Wolfram Research Blog

  • “Brain, Neurons, Cognition: Computational Neuroscience”
  • “Visualizing Anatomy”
  • “Dissecting the New Anatomy Content in the Wolfram Language”

Wolfram Function RepositoryThe Wolfram Function Repository also offers more advanced functions to keep you progressing with your computational biology work, including utilizing the Global Biodiversity Information Facility’s data.

  • GBIFImport
  • GBIFSearch

Featured Community PostsFrom Pictures of Animals, Try to Reconstruct the Tree of Life (Wolfram High School Summer Research Program 2022)
By: Maya Viswanathan

The Wolfram High School Summer Research Program is an opportunity for high-school students to participate in their own research projects with mentors from the Wolfram team and Stephen Wolfram.

Viswanathan’s research project used Wolfram Language’s image-processing capabilities to make a taxonomical tree of life. The diagrams are used to organize different organisms into different classifications, including taxonomy and evolution. Viswanathan’s diagrams build trees solely off of how Wolfram Language interpreted images of different organisms, resulting in an impressive and colorful display.

Water and Heat Exchanges in Mammalian Lungs
By: Benoit Haut

Haut’s project uses a mathematical model that evaluates how varying mammalian lungs use water and heat to self-regulate temperature. Haut spares no effort in creating visually stunning models for easy reading.

Computational Anatomy Visualizations, Animations, Web-Deployment
By: Martijn Froeling

Froeling is an assistant professor specializing in quantitative neuromuscular MRI techniques to better understand muscle functions and diseases. He found himself in a project that required many images of anatomical models of lower-extremity muscles. He decided to use Wolfram Language to generate interactive models to use in his project rather than taking the time to search the web for the exact angles needed.

QMRITools Paclet In 2023, Froeling was awarded a Wolfram Innovation Award for his paclet QMRITools. This paclet was developed as a toolkit for experimental design, data analysis and teaching. The paclet has been credited as a tool in over 50 scientific papers and currently offers more than 450 functions. QMRITools has helped to simplify quantitative MRI analysis.

Level 3—Research Computational BiologyWolfram technology is currently being used in a variety of advanced research projects that push the current understanding of life sciences further and further. Combining Wolfram and the life sciences at a higher level offers an affordable and quicker way to test hypotheses and conduct analyses.

Wolfram YouTube ChannelMathematica in Cell Biology: Image Segmentation and Analysis of 3D Tumor Spheroids
Sabine Fischer discusses the work of the physical biology group at Goethe University Frankfurt in cell biology—particularly its work in image segmentation and assessing tumor spheroids.

Bioinformatics in the Wolfram Language
John Cassel discusses the Wolfram|Alpha Scientific Group’s work on computational bioinformatics in Wolfram Language and different applications to the life sciences.

Featured PublicationMathematical Models in the Biosciences 1
By: Michael Frame

Frame’s Mathematical Models in the Biosciences 1 offers a look into using Wolfram Language to aid in the mathematical foundations of biosciences, including chemotherapy, predator-prey relations, nerve impulses and more.

Featured Community PostIntroducing the Wolfram ProteinVisualization Paclet!
By: Soutick Saha

Saha’s ProteinVisualization paclet is designed to create intricate, colorful, 3D visualizations of biomolecules, including proteins, nucleic acids and their complexes. The paclet also allows for computing elements such as contact maps, graphs and dihedral angles.

Wolfram Language Paclet RepositoryThe Wolfram Language Paclet Repository offers additional tools to be used within Wolfram Language. Check out the current available biology paclets to bolster your computational biology work, including CompartmentalModeling and StickyDBSCAN. You can help build the Repository by submitting your own paclets.

Find Your Computational XWolfram has always been committed to pushing boundaries in pursuit of the idea of computational X, or the coming together of technology and the rest of the world. The Wolfram Language we know and love today was founded on the basis of supporting Stephen Wolfram’s passion for physics. This idea of pushing boundaries in different fields is carried through by the efforts of Wolfram developers, who strive to make exciting breakthroughs with every new version, and the users, who share their own projects and discoveries.

Looking for more great resources to find your computational X? Check out our collection of courses at Wolfram U and varying events and workshops to learn more about Wolfram Language and its different application areas. If you’re currently working on a project, be sure to share it to Wolfram Community, or contact us for the chance to be featured in an upcoming blog post.

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

The collaboration between Wolfram Language and Amazon Braket is propelling quantum computation research to unprecedented levels. By combining Amazon Braket’s advanced quantum capabilities and Wolfram’s expansive knowledgebase and accessible symbolic language, users can now push the boundaries of quantum research. Amazon Braket is a quantum computing service on Amazon Web Services (AWS) with the mission […]

View Details

Today we’re launching Version 13.3 of Wolfram Language and Mathematica—both available immediately on desktop and cloud. It’s only been 196 days since we released Version 13.2, but there’s a lot that’s new, not least a whole subsystem around LLMs.

View Details

We originally invented the concept of “Notebooks” back in 1987, for Version 1.0 of Mathematica. And over the past 36 years, Notebooks have proved to be an incredibly convenient medium in which to do—and publish—work (and indeed, I, for example, have created hundreds of thousands of them). And, yes, eventually the basic concepts of Notebooks […]

View Details

Prompts are how one channels an LLM to do something. LLMs in a sense always have lots of “latent capability” (e.g. from their training on billions of webpages). But prompts—in a way that’s still scientifically mysterious—are what let one “engineer” what part of that capability to bring out.

View Details

Statistics is the mathematical discipline dealing with all stages of data analysis, from question design and data collection to analyzing and presenting results. It is an important field for analyzing and understanding data from scientific research and industry. Data-driven decisions are a critical part of modern business, allowing companies to use data and computational analyses […]

View Details

From preparing food to nourish our bodies to finding cures for terminal illnesses, chemistry is a foundational part of our world. As a computational chemist, you may have a lot to learn to master this subject, but fueled by Wolfram’s collection of educational resources, elaborate simulation functions and research projects, you’ll be ready to tackle this exciting science head on.

Level 1—Learn about Computational ChemistryWolfram|Alpha Example QueriesWolfram|Alpha’s searchable database gives budding computational scientists the tools to find reliable information and calculations to support just about any field of work—including chemistry. Example queries for chemistry are available to instantly learn about different chemical properties, balance chemical equations, explore chemoinformatics and more. Struggling to remember chemical formulas? Wolfram|Alpha recognizes chemicals by name, formula or any other identifier.

Wolfram|Alpha Pro also offers step-by-step chemistry examples and solutions to help walk you through different chemistry problems and struggles. You can learn more about the different applications through the Wolfram|Alpha Chemistry Team’s collection of Step-by-Step Chemistry blogs:

  • “Chemistry Step-by-Step Solutions: Chemical Reactions”
  • “Chemical Solutions: Step-by-Step Chemistry Series”
  • “Structure and Bonding: Step-by-Step Chemistry Series”
  • “Quantum Chemistry: Step-by-Step Chemistry Series”

Wolfram Demonstrations ProjectThe Wolfram Demonstrations Project offers more than twelve thousand interactive Wolfram Language Demonstrations in varying fields, including over five hundred chemistry Demonstrations. Set unique conditions and watch experiments unfold from Demonstrations like the following.

Beer’s Law
By: Scott Berger, Rachael Holappa and Kaitlin Nguyen

A classic experiment brought straight to your computer screen, this Demonstration shows Beer’s law by measuring the concentration of a liquid using light waves. The Demonstration allows you to manipulate the wavelength and concentration to calculate absorbance and molar absorbance.

Element Density Comparisons
By: Theodore Gray

When it comes to learning about the elements, it can be difficult to keep track of the different characteristics. Gray’s Demonstration lets you compare and visualize the density of any two elements using bars to demonstrate their weight.

Build Your Own Atoms
By: S. M. Blinder

Blinder’s Demonstration will also give you the chance to become familiar with the elements and what makes them unique by manipulating the atomic number, mass number and number of electrons.

Wolfram System Modeler—High School Chemistry LibraryWolfram System Modeler is an interactive modeling lab that gives you the chance to run dynamic simulations for varying environments. The High School Chemistry library offers a series of labs to conduct chemistry experiments that will give you the experience and confidence to put your skills to practice with virtual demonstrations and calculations.

Wolfram U—Wolfram Notebooks for Teaching ChemistryFor those looking to teach about the basics of computational chemistry, be sure to check out Wolfram U’s course on Wolfram Notebooks for Teaching Chemistry. The hour-long video course features Jason Sonnenberg from the Wolfram|Alpha Chemistry Team, who discusses Wolfram chemistry applications, strategies and resources for meaningful interactive instruction. Sonnenberg’s experience in education and chemistry makes this the perfect resource for the Wolfram novice looking to integrate technology into the classroom.

Wolfram Function RepositoryThe Wolfram Function Repository offers an ever-expanding collection of Wolfram Language functions developed by both Wolfram teams and users. With over 2,500 functions available, there are plenty of chemistry tools to go around for the computational chemist.

The Repository’s chemistry selection includes search functions for the Chemical Abstracts Service (CAS) Common Chemistry database, basic essential chemistry conversions and and more.

  • CommonChemistrySearch
  • MoleculeView
  • SignificantDigits
  • ChemicalElementComposition

Level 2—Experimenting with Computational ChemistryLatest Features in Version 13.1Now that you’ve mastered the art of chemistry, it’s time to dive deeper into the ways to use Wolfram Language to run your chemistry experiments and project simulations. The Wolfram|Alpha Chemistry Team’s livestream, Chemistry Overview: Live with the R&D Team, reviews different chemistry functions and features available in Wolfram Language. You can also interact with the latest chemistry functions from the Version 13.1 release in the blog post “New in 13.1: Chemical Representations and Pattern Reactions.”

Wolfram R&D Live—MaXrd: A Crystallography Package Developed for Research SupportOne of the benefits of being a computational chemist is the ability to simulate different experiments without acquiring the physical resourceswhich can be costly and dangerous without the proper equipment and setting. Stian Ramsnes’s Wolfram Language package MaXrd allows users to experiment with and observe crystallography from their computers. You can watch Ramsnes walk through his package and answer student questions in the Wolfram R&D livestream MaXrd: A Crystallography Package Developed for Research Support.

Featured PublicationsIntroduction to Chemical Engineering Analysis Using Mathematica: For Chemists, Biotechnologists and Materials Scientists
By: Henry C. Foley

In publisher Elsevier’s own words, Introduction to Chemical Engineering Analysis Using Mathematica: For Chemists, Biotechnologists and Materials Scientists discusses “the core concepts of chemical engineering, ranging from the conservation of mass and energy to chemical kinetics.” The textbook is a perfect example of making complicated ideas accessible with technology and is sure to be an entry point for anyone looking to get started with chemical engineering.

Wolfram U—Wolfram Notebooks for Chemistry ResearchWolfram U’s hour-long video course Wolfram Notebooks for Chemistry Research, presented by Jason Biggs from the Wolfram|Alpha Chemistry Team, offers an intermediate look into Wolfram applications for analytical, biochemical, physical, organic and inorganic chemistry. The course specifically looks into functions for accessing curated chemical data, creating molecule objects and visualizing and computing with molecular structures.

Level 3—Computational Chemistry ResearchWolfram Function RepositoryThe Wolfram Function Repository contains many advanced functions for those looking to take their Wolfram and chemistry projects to the next level.

  • PointGroupSymbol
  • BioMoleculePlot3D
  • BioSequenceMoleculePlot3D
  • MoleculeSymmetryPlot3D

Wolfram Language Paclet RepositoryThe Wolfram Language Paclet Repository offers additional tools to be used within Wolfram Language. Check out the current available chemistry paclets to bolster your computational chemistry work, including IsomerGeneration and MoleculeFingerprints. You can help build the Repository by submitting your own paclets.

Featured PublicationsSymmetry Theory in Molecular Physics with Mathematica: A New Kind of Tutorial Book
By: William Martin McClain

Symmetry Theory in Molecular Physics with Mathematica: A New Kind of Tutorial Book features a guide to molecular symmetry theory presented entirely in Wolfram Language. McClain walks through an explanation of the concept as well as several applications.

Featured Community PostsWolfram Community is one of the best places to learn about others’ projects and share or find help with your own work. These recent Community posts are a sampling of some of our favorite chemistry projects.

Tetris for Proteins—Shape-Based Molecular Chemistry (Fundamental Science Winter School 2023)
By: Logan Hallee

The annual Wolfram Fundamental Science Winter School gives students an opportunity to participate in research projects with Stephen Wolfram and other Wolfram employees, as well as to develop their own research projects with a team of Wolfram mentors.

Hallee’s independent project sought to solve a longstanding issue in the chemistry community concerning protein-protein interactions. He used neural nets in Wolfram Language to simulate interactions and the way proteins lock in with each other in a classic Tetris-like fashion.

Machine Learning in Chemistry Education: Carbonyl Multiclass ClassificationBy: Elizabeth Thrall, Seung Eun Lee, Joshua Schrier, Yijun Zhao

Thrall’s post features her team’s work in developing a machine learning classification for functional group identification in vibrational spectroscopy. They share how they developed and trained a multiclass machine learning classification model in Wolfram Language.

Predictive Validity in Drug Discovery: What It Is and How to Improve ItBy: Jack Scannell et al.

Scannell shares his team’s work in Wolfram Language studying the research and development of clinical drugs before they’re ready for human testing. The team seeks to limit drug R&D failures by simulating results in Wolfram Language, thus saving money, resources and, most importantly, negative human interaction.

Find Your Computational XWolfram has always been committed to pushing boundaries in pursuit of the idea of computational X, or the coming together of technology and the rest of the world. This is carried through by the efforts of Wolfram developers, who strive to make exciting breakthroughs with every new version, and the users, who share their own projects and discoveries.

Looking for more great resources to find your computational X? Check out our collection of courses at Wolfram U and varying events and workshops to learn more about Wolfram Language and its different application areas. If you’re currently working on a project, be sure to share it to Wolfram Community or contact us for the chance to be featured in an upcoming blog post.

| Visit Wolfram Community or the Wolfram Function Repository to embark on your own computational adventures! |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

So far, we mostly think of LLMs as things we interact directly with, say through chat interfaces. But what if we could take LLM functionality and “package it up” so that we can routinely use it as a component inside anything we’re doing? Well, that’s what our new LLMFunction is about.

View Details

A few weeks ago, in collaboration with OpenAI, we released the Wolfram plugin for ChatGPT, which lets ChatGPT use Wolfram Language and Wolfram|Alpha as tools, automatically called from within ChatGPT. One can think of this as adding broad “computational superpowers” to ChatGPT, giving access to all the general computational capabilities and computational knowledge in Wolfram Language and Wolfram|Alpha.

View Details

With Global Astronomy Month in full swing, it’s exciting to see the merging of Wolfram Language and the world of astronomy in so many different applications from our developers and users—from courses to books to projects on Wolfram Community. No matter where you’re at in your computational astronomy journey, the following resources will encourage you to go above and beyond.

Level 1—Learn about Computational AstronomyScience & Technology Q&A for Kids & OthersIf you’ve ever wondered why black holes don’t collapse on themselves or about the gravitational limits of a planet, we suggest participating in Stephen Wolfram’s livestreams for the chance to learn about varying topics in the world of science and technology and for a behind-the-scenes look into his life and work. His weekly Science & Technology Q&A for Kids & Others is an open, live Q&A session dedicated to answering your questions.

While the streams are not bound to a single topic, Part 107 features an in-depth conversation about black holes and light and Part 109 looks at questions about gravity and pressure in the vacuum of space. These livestreams will surely intrigue anyone looking to learn more about space!

Do you have more space or other questions for Stephen? You can submit a question to be answered in a future Science & Technology Q&A for Kids & Others or History of Science & Technology Q&A livestream.

Wolfram Demonstrations ProjectThe Wolfram Demonstrations Project offers more than 12 thousand interactive Wolfram Language Demonstrations in varying fields, including over two hundred astronomy Demonstrations. Manipulate and learn from unique Demonstrations like the following.

View of Our Solar System
By: Becky Johnsen

Johnsen’s Demonstration explores the relative distances between the Sun, planets and the dwarf planet Pluto. All bodies are shown larger than scale size but in correct relative proportion except for the Sun and Pluto (for aesthetic reasons).

How Old Would You Be on Another Planet (or Pluto?)
By: Chris Boucher

The planets in our solar system (and Pluto) rotate on their axes at different rates and take differing amounts of time to complete an orbit of the Sun. Boucher’s Demonstration allows you to calculate how old you would be on different planets (and Pluto).

Make Your Own Solar System
By: Stephen Wolfram

Wolfram’s Demonstration allows you to create your own 3D solar system by adjusting the size of a central star and the sizes and distances of four planets.

Wolfram|Alpha Example QueriesIn addition to being an ever-expanding searchable database with knowledge spanning the computation of physics mechanics to providing detailed timelines for historical events, Wolfram|Alpha also gives topical example queries to get your research started in the right direction. Check out the collection of space and astronomy examples to start researching astronomical events and learn to calculate astrophysics problems.

Level 2—Experimenting with Computational AstronomyIf you’re already an astronomy whiz and are ready to move on to more advanced Wolfram Language computations, you will find these projects offer the inspiration you need to move forward with your exploration.

Wolfram Demonstrations ProjectMore advanced Demonstrations are available for those looking to observe and interact with different astronomical concepts.

Phases of Planets
By: Jeff Bryant

Like the Moon, planets can also have phases. Bryant’s Demonstration offers a view of Mercury, Venus and Earth when viewed from any of these three planets. Planets in inferior orbits undergo complete phase changes like the Moon when viewed from a planet with a superior orbit. Planets in superior orbits only go though minor changes in phase when viewed from a planet with an inferior orbit.

Solar and Lunar Eclipses
By: Jeff Bryant

A solar eclipse occurs when the Moon’s shadow moves across the face of the Earth. Similarly, a lunar eclipse occurs when the Earth’s shadow moves over the Moon. Bryant’s Demonstration allows you to see a model of solar and lunar eclipses by adjusting the position and distance of the Moon.

Life Cycle of a Star
By: Allison Jung

Stars evolve from birth to death much as animals or plants do. New stars form in stellar nebulae, made of clouds of plasma, hydrogen and helium. The lifetime of a star varies according to its mass; more massive stars have shorter lifespans than average-sized stars. The dividing line between the two types is around eight times the mass of the Sun. Jung’s Demonstration shows the life cycles of stars by adjusting an average and massive star’s evolutions.

Astronomy Functions in Wolfram LanguageWolfram Language 13.2 introduced several new astronomy-focused functions for getting started as a computational astronomer with astro computation and graphics. The 13.2 feature pages give you a chance to experiment with all of the astronomy functions released in this version. You can also use the Astronomical Computation & Data guide for a full list of astronomical functions and available data.

  • New in 13.2: Introducing Astro Computation
  • New in 13.2: The Beginnings of Astro Graphics

For a deeper dive into the 13.2 features, be sure to check out our Live with the R&D Team livestream on astro computation, where researchers José Martín-García and Jeff Bryant discuss reference frames, time systems, the varying functions and different application examples like visualizing solar eclipses or computing the position of Jupiter’s barycenter.

Wolfram Function Repository For more unique ways to incorporate your astronomy research and Wolfram Language skills, you can visit the Wolfram Function Repository to explore and share your own astronomical functions.

  • StellarSpectralClassData
  • MilkyWayPlot3D
  • SolarSystemPlot3D

The new Wolfram Language Example Repository contains several ready-to-use examples to experiment with higher-level examples. You can help build the Example Repository by submitting your own resources.

  • How Big Are Exoplanets Compared to Stars?
  • Plotting Moon Phases
  • Rediscovering Kepler’s Third Law

Featured Wolfram Community PostsIt’s no secret that Wolfram Community is one of the best places to learn about others’ projects and share or find help with your own work. These recent Community posts are a sampling of some of our favorite astronomy projects.

Conjunction of Venus and Jupiter during the Last Week of February 2023By: Jeff Bryant

Bryant takes a look at the conjunction of Venus and Jupiter in February 2023 using varying astronomical and date-time functions in order to anticipate the angular separation for each day of the conjunction. His work gives astronomers, photographers and enthusiasts an opportunity to anticipate similar events.

2022 Wolfram Technology ConferenceThe Wolfram Technology Conference is always an exciting time for both Wolfram developers and industry and academic researchers alike to share their work in the world of Wolfram. Wolfram developer Tom Sherlock has used the conference as a platform for his various projects, including his work in astronomy.

Sherlock’s 2022 presentation on astronomical imaging drummed up quite the attention and featured his efforts toward image processing to create high-quality images of the stars from videos by filtering, aligning and stacking still-image data.

Level 3—Computational Astronomy ResearchFor those looking to go even further with advanced astronomy research, the following publications offer in-depth analyses to push your work to the next level.

Featured Community PostsPossible Spacetime Discretization in Astrophysical Phenomena(Fundamental Science Winter School 2023)
By: Vittoria Tommasini

The annual Wolfram Fundamental Science Winter School gives students an opportunity to participate in research projects with Stephen Wolfram and other Wolfram employees, in addition to developing their own research projects with a team of Wolfram mentors.

Tommasini featured a unique look into computational astronomy with her independent project that focused on connecting quantum mechanics on larger-scale objects like black holes. She focused on modeling discretized spacetime geometries for Minkowski and Schwarzschild spacetime graphs.

Effects of Dimensions D≠3 on Galactic Rotational Velocity Curves (Fundamental Science Winter School 2023)
By: John Blakely

In another feature from this year’s Winter School, Blakely worked with the Wolfram Physics Project to evaluate the discrete space dimensional effect on galactic rotational velocity curves by creating a model of the flattened curves for observation.

Featured PublicationsDynamical Gravastars
By: Stephen Adler

Adler’s article, published by the American Physical Society, uses Wolfram Language to look into the structure and behavior of gravastars with the Tolman–Oppenheimer–Volkoff equation. You can find a description of Adler’s work and his notebooks on Wolfram Community.

Geometric Optics: Theory and Design of Astronomical Optical Systems Using Mathematica, Second Edition
By: Antonio Romano & Roberto Caveliere

Geometric Optics: Theory and Design of Astronomical Optical Systems Using Mathematica from Antonio Romano and Roberto Caveliere combines the computational abilities of Wolfram Language with the optical elements of astronomy.

Wolfram has always been committed to pushing boundaries in pursuit of the idea of computational X, or the coming together of technology and the rest of the world. This idea is carried through the world of Wolfram with the help of the Wolfram developers, who work to make each new version as exciting as possible, and the users, who share their own projects and discoveries through Wolfram Community and their own publication sources.

Looking for more great resources to find your computational X? Check out our collection of courses at Wolfram U and varying events and workshops to learn more about Wolfram Language and its different application areas. If you’re currently working on a project, be sure to share it to Wolfram Community or contact us for the chance to be featured in an upcoming blog post.

| Visit Wolfram Community or the Wolfram Function Repository to embark on your own computational adventures! |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Last year we released Version 13.1 of the Wolfram Language. Here are the updates in astro computation since then, including the latest features in 13.2.

The Beginnings of Astro GraphicsIn addition to being able to compute astronomical things, Version 13.2 includes first steps in visualizing astronomical things. There’ll be more on this in subsequent versions. But Version 13.2 already has some powerful capabilities.

As a first example, here’s a part of the sky around Betelgeuse as seen right now from where I am:

Zooming out, one can see more of the sky:

There are lots of options for how things should be rendered. Here we’re seeing a realistic image of the sky, with grid lines superimposed, aligned with the equator of the Earth:

And here we’re seeing a more whimsical interpretation:

Just like for maps of the Earth, projections matter. Here’s a Lambert azimuthal projection of the whole sky:

The blue line shows the orientation of the Earth’s equator, the yellow line shows the plane of the ecliptic (which is basically the plane of the Solar System), and the red line shows the plane of our galaxy (which is where we see the Milky Way).

If we want to know what we actually “see in the sky” we need a stereographic projection (in this case centered on the south direction):

There’s a lot of detail in the astronomical data and computations we have (and even more will be coming soon). So, for example, if we zoom in on Jupiter we can see the positions of its moons (though their disks are too small to be rendered here):

It’s fun to see how this corresponds to Galileo’s original observation of these moons more than 400 years ago. This is from Galileo:

The old typesetting does cause a little trouble:

But the astronomical computation is more timeless. Here are the computed positions of the moons of Jupiter from when Galileo said he saw them, in Padua:

And, yes, the results agree!

By the way, here’s another computation that could be verified soon. This is the time of maximum eclipse for an upcoming solar eclipse:

And here’s what it will look like from a particular location right at that time:

Download your 13.2 now! » (It’s already live in the Wolfram Cloud!)

View Details

Last year we released Version 13.1 of the Wolfram Language. Here are the updates in astro computation since then, including the latest features in 13.2.

Introducing Astro ComputationAstronomy has been a driving force for computation for more than 2000 years (from the Antikythera device on)… and in Version 13.2 it’s coming to Wolfram Language in a big way. Yes, the Wolfram Language (and Wolfram|Alpha) have had astronomical data for well over a decade. But what’s new now is astronomical computation fully integrated into the system. In many ways, our astro computation capabilities are modeled on our geo computation ones. But astro is substantially more complicated. Mountains don’t move (at least perceptibly), but planets certainly do. Relativity also isn’t important in geography, but it is in astronomy. And on the Earth, latitude and longitude are good standard ways to describe where things are. But in astronomy—especially with everything moving—describing where things are is much more complicated. Oh, and there’s the question of where things “are,” versus where things appear to be—because of effects ranging from light-propagation delays to refraction in the Earth’s atmosphere.

The key function for representing where astronomical things are is AstroPosition. Here’s where Mars is now:

What does that output mean? It’s very “here and now” oriented. By default, it’s telling me the azimuth (angle from north) and altitude (angle above the horizon) for Mars from where Here says I am, at the time specified by Now. How can I get a less “personal” representation of “where Mars is”? Because if even I just reevaluate my previous input now, I’ll get a slightly different answer, just because of the rotation of the Earth:

One thing to do is to use equatorial coordinates, that are based on a frame centered at the center of the Earth but not rotating with the Earth. (One direction is defined by the rotation axis of the Earth, the other by where the Sun is at the time of the spring equinox.) The result is the “astronomer-friendly” right ascension/declination position of Mars:

And maybe that’s good enough for a terrestrial astronomer. But what if you want to specify the position of Mars in a way that doesn’t refer to the Earth? Then you can use the now-standard ICRS frame, which is centered at the center of mass of the Solar System:

Often in astronomy the question is basically “which direction should I point my telescope in?”, and that’s something one wants to specify in spherical coordinates. But particularly if one’s “out and about in the Solar System” (say thinking about a spacecraft), it’s more useful to be able to give actual Cartesian coordinates for where one is:

And here are the raw coordinates (by default in astronomical units):

AstroPosition is backed by lots of computation, and in particular by ephemeris data that covers all planets and their moons, together with other substantial bodies in the Solar System:

By the way, particularly the first time you ask for the position of an obscure object, there may be some delay while the necessary ephemeris gets downloaded. The main ephemerides we use give data for the period 2000–2050. But we also have access to other ephemerides that cover much longer periods. So, for example, we can tell where Ganymede was when Galileo first observed it:

We also have position data for more than 100,000 stars, galaxies, pulsars and other objects—with many more coming soon:

Things get complicated very quickly. Here’s the position of Venus seen from Mars, using a frame centered at the center of Mars:

If we pick a particular point on Mars, then we can get the result in azimuth-altitude coordinates relative to the Martian horizon:

Another complication is that if you’re looking at something from the surface of the Earth, you’re looking through the atmosphere, and the atmosphere refracts light, making the position of the object look different. By default, AstroPosition takes account of this when you use coordinates based on the horizon. But you can switch it off, and then the results will be different—and, for example, for the Sun at sunset, substantially different:

And then there’s the speed of light, and relativity, to think about. Let’s say we want to know where Neptune “is” now. Well, do we mean where Neptune “actually is”, or do we mean “where we observe Neptune to be” based on light from Neptune coming to us? For frames referring to observations from Earth, we’re normally concerned with the case where we include the “light time” effect—and, yes, it does make a difference:

OK, so AstroPosition—which is the analog of GeoPosition—gives us a way to represent where things are, astronomically. The next important function to discuss is AstroDistance—the analog of GeoDistance.

This gives the current distance between Venus and Mars:

This is the current distance from where we are (according to Here) and the position of the Viking 2 lander on Mars:

This is the distance from Here to the star τ Ceti:

To be more precise, AstroDistance really tells us the distance from a certain object, to an observer, at a certain local time for the observer (and, yes, the fact that it’s local time matters because of light delays):

And, yes, things are quite precise. Here’s the distance to the Apollo 11 landing site on the Moon, computed 5 times with a 1-second pause in between, and shown to 10-digit precision:

This plots the distance to Mars for every day in the next 10 years:

Another function is AstroAngularSeparation, which gives the angular separation between two objects as seen from a given position. Here’s the result from Jupiter and Saturn (seen from the Earth) over a 20-year span:

Download your 13.2 now! » (It’s already live in the Wolfram Cloud!)

View Details

“I believe that we do not know anything for certain, but everything probably.”
—Christiaan Huygens

Have you ever wondered how health insurance premiums are calculated or why healthcare is so expensive? Or what led to the financial crisis of 2008? Or whether nuclear power is safe? The answers to these questions require an understanding of probability, which is the best tool that we have for coping with an uncertain world. In fact, an understanding of probability is required for professionals in a large number of fields, including data science, finance, engineering, biology, chemistry, medicine and actuarial science.

I am glad to announce the launch of Introduction to Probability, a free interactive course aiming to help you learn probability intuitively, from simple to advanced concepts. Anyone who wants to learn probability for the first time, needs a refresher or is looking to apply probability professionally will find great value in this course. It will help students understand and use randomness and random variables.

Clicking the following will take you directly to the course, where you can immediately venture into the uncertain world of probability.

Motivation from HistoryProbability can be traced all the way back to the first game of chance, but these were only first studied in the 1560s by the mathematician Gerolamo Cardano. Even in its infancy, probability was fundamentally applied: Cardano used this knowledge to earn more when gambling. It’s only a century later, in 1654, that probability theory was made public through a correspondence between Pierre de Fermat and Blaise Pascal about a gambling question known today as the problem of points.

Despite its questionable and amusing origins in games of chance, probability is nowadays crucial in many cutting-edge domains such as artificial intelligence, data science, quantum physics and stock exchanges. Whether you aim to revolutionize our world or stack the odds in your favor in a game of poker, probability will help and inform you to make better decisions.

OverviewThe course begins with an introduction to basic probability definitions and prerequisite knowledge. Students will then intuitively learn to construct and manipulate any random variable, the central concept of this course. This is followed by a lesson for each important random variable and its applications, as well as their advanced generalizations. The lessons conclude with important theorems and approximations explaining theoretically previously seen notions.

Here is a bit of a sneak peak of the lesson contents:

This course has 25 lessons. The order of lessons is a suggestion that aims to build intuition; however, lessons can be studied independently. You can finish watching all of the videos and completing the six short quizzes in four hours, but I recommend attempting all exercises and reading their solutions to cement your knowledge, which may take you an additional three hours.

While concepts from Introduction to Calculus and Introduction to Linear Algebra are mentioned, these are not necessary, and anyone with minimal knowledge of Wolfram Language and high-school-level math can excel in this course.

LessonsThis course is built around a collection of 25 lessons that aims to build the student’s problem-recognition and problem-solving abilities. Indeed, probability problems are everywhere, and the hardest part is often recognizing the type of problem in order to use the right solution.

In the creation of the course, special care was taken to pronounce place names as they would be in their original languages. Moreover, examples and exercises are geared toward fields where probability is frequently used professionally, like data and actuarial science.

This course is aimed more at practitioners of probability than mathematics students; therefore, a greater emphasis is given to applications rather than proofs.

The full lesson notebook used in the video is also included so that you can try the code and interactive demonstrations for yourself. Any code in these notebooks can be copied with a simple click, and that code can be pasted into (and edited within) the scratch notebook area at the bottom of the screen.

Videos for each lesson are around eight minutes in length, but may vary depending on the requirements of the material—the video on joint distributions, for example, is the longest at 11 minutes, but it explores the most advanced and beautiful concepts of the course.

ExercisesAdditionally, each lesson has a separate set of five exercises of increasing difficulty. All exercises also have solutions included. Exercises 1 and 2 test your direct understanding of the video; exercises 3 and 4 test your mathematical intuition on large problems; and exercise 5 pushes further than the lesson material, testing your deep grasp of the lesson. Doing the first three exercises is all that is needed to prepare for the quiz and final, but at least understanding the solution of exercise 5 may greatly help your comprehension.

QuizzesEach of this course’s six sections ends with a 10-question multiple-choice quiz. Quiz questions are of comparable difficulty to exercises 2 or 3 of the lessons of that section, and anybody who does exercises 1 to 3 and reviews their solutions will probably (☺) pass the quiz without difficulty.

Students receive instant feedback upon submitting their responses to the quiz questions, and can use any reasonable method to arrive at the correct answer.

Course CertificateStudents who wish to take advantage of everything this course has to offer will, by the time they complete it, have watched all 25 lessons and passed the six quizzes. At this point, students can—and should!—request a certificate of completion showing their proficiency in the field of probability. This certificate can easily be added to your resume or social media profile too!

This course also has an optional final exam that you can take after completing all of the material. This final exam has more questions and a slightly higher difficulty than the quizzes, and passing it will net you a more advanced Level I Certification.

Feedback from the Daily Study GroupWolfram U offered a glimpse of the course lessons and quizzes to Daily Study Group participants earlier this March, and we received some valuable feedback. Here is what participants said:

  • “I appreciate the examples and applicability to real-life problems.”
  • “The materials that are provided are very useful and informative. The framework that was set up for this course is also amazing.”
  • “I really enjoyed this course. Thank you very much for putting so much effort into it and also for the nice course materials.”
  • “Great information on the implications of probability theory on the 2008 financial crisis!”

A Building Block for DiscoveryRandomness characterizes anything that we do not yet fully understand. Probability is there to predict the unpredictable, to navigate the storming sea of reality, to face the unknown. The strength of probability is the insights it provides once applied. If studied intently, this Introduction to Probability course will provide you with the knowledge and intuition necessary for success in whatever field you choose to pursue. Probably. ☺

AcknowledgmentsThis course is the result of the work of the Wolfram U team and the Algorithms R&D team. I would like to thank Devendra Kapadia, Anisha Basil, Joyce Tracewell, Abrita Chakravarty, Matt Coleman, Mariah Laugesen and Laura Crawford for all the work they put into getting this course up and running.

| Want more help? Register for one of Wolfram U’s Daily Study Groups. |

View Details

Early in January I wrote about the possibility of connecting ChatGPT to Wolfram|Alpha. And today—just two and a half months later—I’m excited to announce that it’s happened! Thanks to some heroic software engineering by our team and by OpenAI, ChatGPT can now call on Wolfram|Alpha—and Wolfram Language as well—to give it what we might think of as “computational superpowers”. It’s still very early days for all of this, but it’s already very impressive—and one can begin to see how amazingly powerful (and perhaps even revolutionary) what we can call “ChatGPT + Wolfram” can be.

View Details

National Nutrition Month® is here, and the theme is “Fuel for the Future.” The future of food is sustainability, which we will explore through Wolfram Language. What is sustainable eating? It’s choosing the right foods, reducing food waste, eating local foods in season and even growing your own garden. Sustainability can lead to personal and planetary health.

The Power of PlantsMany plants are high in nutrients and low in environmental impact. They produce oxygen, absorb carbon dioxide and help prevent soil erosion. Use FoodCompassPlot for a diagram of the major nutrients as a percentage of recommended daily value for these powerful plants:

| ✕ |

FoodCompassPlot can analyze your favorite recipes too. Here, we looked at a homemade tahini sauce popular for drizzling over nutrient-packed veggie bowls:

| ✕ |

Next, we did the same thing with our favorite peanut sauce recipe. You can see that the two sauces are similar in calories, carbohydrates and total fat, but notice the difference in protein between the tahini sauce and the peanut sauce:

| ✕ |

Magic BeansBeans and other legumes are good plant-based sources of protein, fiber and minerals, including iron, potassium and magnesium. They are rich in nutrients, with a lower environmental impact than animal sources. Whether you prefer detailed tabular data or informative charts, you can explore the extensive database of beans and other plant-based foods:

| ✕ |

| ✕ |

Legumes are nitrogen fixers. They take nitrogen from the air and transform it into fertilizer, which improves soil health and reduces the need for synthetic fertilizers. Legumes do this through a symbiotic bacteria called Rhizobium. Use species data to investigate Rhizobium and other symbiotic bacteria:

| ✕ |

| ✕ |

High Nutrients, Low EmissionsGreenhouse gas emissions from fish and seafood can be from multiple sources: fueling the boats and fishing equipment, processing and transporting the daily catch, and manufacturing feed for fish farming. Promoting foods with high nutrient density and low greenhouse gas emissions is key to sustainability. Use RankChart for vibrant, informative ranking of fish and seafood varieties:

| ✕ |

Data source: “Assessing Seafood Nutritional Diversity Together with Climate Impacts Informs More Comprehensive Dietary Advice

Shopping LocalFor sustainable eating, buy local foods in season. By eliminating long-distance transportation and storage, the food will be fresher and more flavorful, with more nutrients still intact. Best of all, you’re supporting local farmers and their families:

| ✕ |

Home GrownGrowing your own fruits and vegetables is a great way to eat sustainably, enjoy the outdoors and teach your family valuable skills. Which plants are most likely to thrive where you live? The USDA has divided the United States into 13 plant hardiness zones, based on their average annual minimum winter temperature. Each zone represents a 10-degree Fahrenheit range. Numbered from 1 to 13, Zone 1 is the coldest and Zone 13 is the warmest:

| ✕ |

Turn your food scraps and yard waste into nutrient-rich soil by composting. Compost is full of nutrients important for plant growth, including nitrogen, phosphorus and potassium:

| ✕ |

Love Your LeftoversEating leftovers means less food waste. Wolfram Language can help you safely store those leftovers by providing the maximum recommended refrigerated and frozen storage times for a wide variety of foods:

| ✕ |

As you can see, most cooked leftovers that are refrigerated promptly can be stored for three to four days.

Insects on the MenuEdible insects have been a traditional food source in many cultures for thousands of years. Now they are gaining wider acceptance as an alternative, sustainable protein source. The most common edible insects are crickets, grasshoppers, mealworms and ants:

| ✕ |

To Learn MoreFrom beans to bugs, I hope you’ve enjoyed this look at food sustainability through Wolfram Language. To learn more about sustainable eating, visit the USDA website.

Visit the Academy of Nutrition and Dietetics for free resources about National Nutrition Month® 2023.

Engage with the code in this post by downloading the Wolfram Notebook
×Download your 13.2 now! » (It’s already live in the Wolfram Cloud!)

View Details

Since we released the Wolfram Function Repository in June 2019, we’ve often run into situations where someone wants to distribute content that can’t easily be contained in a single, standalone function. The answer is usually to create a paclet, the Wolfram Language equivalent to what would be called a package in other programing languages. Paclets have been around for quite some time. They are regularly used by Wolfram developers to deliver and update system-level functionality and have been documented since Version 12.1 of Wolfram Language.

It’s also becoming increasingly common for programming languages to have a central repository where users can publish and share their packages. Now, we’re excited to announce a place for our users to do the same: the Wolfram Language Paclet Repository. Until now, sharing bundles of Wolfram Language code had been done on a small collection of sites without a consistent, streamlined system to unify them. Using paclets and the Paclet Repository, our community can find and share any kind of content made to work with Wolfram Language.

But What Are Paclets?Paclets are a way of packaging units of Wolfram System functionality so they can be easily found, distributed, updated and loaded. Many paclets contain Wolfram Language packages, but a paclet can be as simple as a single documentation notebook, all the way up to a large application with multiple packages, documentation, front end palettes, libraries, etc. Paclets have been used to distribute raw data, functions, stylesheets, palette notebooks and even entirely new use interfaces.

Once installed, a paclet is seamlessly and persistently integrated into your Wolfram Language system. If the paclet provides new functions, they’re ready to be loaded in any future session with a single line of code. If the paclet provides stylesheets or palettes, they can immediately be found in the relevant menus.

Repository FeaturesEasy to UseWhat are the benefits of using the Wolfram Language Paclet Repository? First and foremost, it’s easy to find, install and update content from the repository. Every paclet gets its own set of pages to show all of its documentation and examples. Right on the front page for each paclet, we show the code you need to install it. You don’t need to download files separately and move them around to specific directories—that’s all handled automatically. The paclet is immediately ready for use in the current session as well as all future sessions:

Most paclets deliver functions and symbols for use in your own Wolfram Language code. After installing, the paclet’s Wolfram Language code is only made available and not yet loaded; load it with Needs like any other package. The front page of each paclet will usually include the “Needs statement” used to load its primary content as well.

PreviewIf you want to try out a paclet but don’t want it to permanently install into your system, we’ve made that easy too. All of the examples in the Paclet Repository are click to copy and use PacletSymbol to access the paclet’s symbols:

| ✕ |

On the surface of it, PacletSymbol is just a convenient way to pull up the full name of a symbol:

| ✕ |

Under the hood, PacletSymbol does a lot of work in order to make using paclets low impact on your system. It will download the paclet, if necessary, and temporarily make it available in your system. If you quit your session, the system will forget all about the paclet. PacletSymbol will also do the work of calling Needs on the paclet’s context for you, but does so in a way that doesn’t change the $ContextPath. This can be useful if there are multiple paclets that use the same names for their symbols, which is often called “shadowing.”

Reputation, Trust and SecurityUnlike the Wolfram Function Repository or the Wolfram Data Repository, submissions to the Paclet Repository do not require review from Wolfram staff before they are made available to the public. That means that trust and scrutiny are important when using paclets from the Paclet Repository. This is part of why we include the developer’s publisher ID in the name of every paclet.

On the main page for each paclet, below the Examples section, you can find a few pieces of information to use when deciding whether to trust the paclet. First is the publisher ID, which is built into the name of each paclet. Each publisher in the Resource System has a page that lists all of their other paclets as other content they’ve published in our repositories:

We also encourage all authors to include a link to their source code. This link can be used to verify the functionality of the paclet. It can also serve as a place where the author may allow others to contribute to their projects:

One feature in the Paclet Repository is the ability to rate a paclet as good and give it a “star.” Over time, this will reveal which paclets are being widely adopted by the community and held in good regard. We’ll be expanding this feature to other repositories in the future:

We also provide a few categories of disclosures that an author can use to tag their paclet. Disclosures are meant to communicate when a paclet may be interacting with files outside of your notebook. A paclet that provides a collection of trigonometric functions, for example, is unlikely to have any disclosures. However, a paclet that creates or edits files should have a “local files” disclosure if the files are on your local system, or “Wolfram Account” if the files are located in the Wolfram Cloud:

We do consider the disclosures to be mandatory, and any paclet using these features of Wolfram Language is expected to let users know about it. If you find any paclet that does not properly disclose these actions, you can report them to be reviewed by Wolfram staff.

When Should I Make a Paclet?If you’ve ever submitted functions to the Wolfram Function Repository, you might wonder about the dividing line between a function and a paclet. In a lot of cases, the functionality you want can be contained in a single function. For such functions, a paclet would be adding more complexity without much benefit. If you are creating any kind of add-on content for Wolfram products that does not fit into one of our other repositories, you should create it in the form of a paclet.

Creating a paclet is useful when:

  • There are multiple interdependent functions
  • Supporting files are needed, like images, stylesheets or palette notebooks
  • The functions, even if some are independent, should be updated at the same time to stay consistent

How Do I Make Paclets?The process of making paclets is too large a topic to cover in this post. If you want to write a paclet, we’ve created this document to help you get started creating paclets for the Wolfram Language Paclet Repository. It will introduce you to the basic steps and guidelines for creating paclets that are used whether you are planning to publish your paclet to the repository or just want to distribute it directly to a small group.

We’ve also created a Paclet Resource Definition Notebook that contains a number of useful tools for organizing and building paclets. It will help you organize your files, fill in the paclet’s metadata, build the documentation and build the paclet itself for distribution. Submitting a paclet to the repository requires use of the definition notebook, but the notebook can also be used to share through your cloud account or just to create the distributable files.

What Else Is New?In the process of preparing for a paclet repository that was fully open to the community, we had to do a significant amount of groundwork. Creating paclets was so much of an internal process that we had to rethink every step and sometimes question our fundamental assumptions. In Version 12.1, we started officially documenting the paclet system. In Version 13.0, we introduced more tools to create paclets, a set of Documentation Tools and more options for handling contexts and shadowed symbols with $ContextAliases.

Our work on the paclet system and the Wolfram Language Paclet Repository is far from done. In the future, you can look forward to improvements in discoverability, search and security, as well as tools for handling paclet interdependency. In the meantime, we’re very proud to have brought such a powerful tool to the hands of our community and look forward to seeing what you’ve created.

| Explore more user contributions like the paclets mentioned here or submit your own creations at the Wolfram Language Paclet Repository. |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

National Chili Day is February 23 and we’re celebrating the spicy heat that peppers bring to a great bowl of chili by exploring the "ScovilleRating" property in Wolfram Language.

The Scoville scale ranks the spiciness (or pungency) of peppers by measuring the amount of the molecule capsaicin in a pepper and assigning it a number rating in Scoville heat units (SHUs). Pharmacist and chemist Wilbur Scoville introduced the “Scoville organoleptic test,” which eventually became the Scoville scale, in 1912. At the time, Mr. Scoville relied on human taste testers willing to do this challenging job. Today, scientists use high-performance liquid chromatography (HPLC) to determine the precise amount of capsaicin in a pepper.

From Placid Pimento to Stinging ScorpionWolfram Language includes "ScovilleRating" data for dozens of pepper varieties, from the mild pimento pepper to the scorching scorpion and ghost peppers:

| ✕ |

| ✕ |

Pepper PlotsListPlot and FeatureSpacePlot are two great ways to visualize the full range of SHUs and which peppers are most closely aligned:

| ✕ |

| ✕ |

Capsaicin: The Spicy MoleculeYou know that burning sensation when you eat spicy foods? It’s due to capsaicin, an active component of chili peppers that irritates the mucous membranes in your mouth. On the Scoville scale, pure capsaicin is 16 million SHUs. That makes it 3000 times hotter than a jalapeño pepper:

| ✕ |

You can learn more about the chemical properties of capsaicin with Wolfram|Alpha.

Pepper PicturesJust as peppers vary in pungency, they are delightfully different in shapes and shades. Use WebImageSearch and ImageCollage to create a colorful snapshot:

| ✕ |

Use TesselateGraphics to get creative with your own pepper pictures. We used AI to generate both our red chili pepper and the black-and-white mask image. Be sure to remove the background of your primary image and set your mask’s Image Mode to Binary to achieve the following effect:

| ✕ |

Download your 13.2 now! » (It’s already live in the Wolfram Cloud!)Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Explore the contents of this article with a free Wolfram System Modeler trial. The Swedish Air Force has an annual tradition of greeting the people of Sweden at the end of the year by flying their fighter jets in a formation shaped like a Christmas tree. Besides welcoming everyone, this tradition plays a role as a valuable rehearsal for the fighter pilots in formation flying and is a way to show their presence. Thus, the large amounts of fuel burned by the fighter jets, which are most certainly not known for their fuel efficiency, may be excused in this tradition.

With the release of the new Wolfram System Modeler Aircraft library, what could be a better way to celebrate? We want to wish our users a happy new year with a simulated formation flight using regular general-aviation aircraft. As a bonus, it would also be interesting to compare the expected fuel consumption during the flight and see how much it could be reduced by changing the aircraft structure to lighter composite materials. Nowadays, there are even fully electric aircraft, such as the Pipistrel Alpha Electro, available in that size category. Therefore, it would be interesting to find out how much cheaper the formation flight would be if it were performed with electric aircraft—or if they even have enough range and endurance for such flight missions.

With the new Aircraft library in System Modeler, the answers to these questions can be answered by modeling the aircraft variants and simulating their flights for the desired formation flight mission.

Defining the Flight MissionFirst, we must define the mission of the formation flight for each aircraft. One way to explicitly define a flight trajectory is to present timetables of altitude, flight speed and track angle, which usually are also the inputs for autopilots used in aircraft.

Let us start by defining the geometry of the flight mission. In some test flights, the aircraft are flown such that they “write” or “draw” something in the sky with their flown trajectory. One example is the recent test flight for the new Airbus A321XLR, where the letters “XLR” were written in the sky over the Bay of Biscay.

Inspired by this (and the start of the new year), I created the following shape for the flight mission and wrote a Wolfram Language script. The timetables for reference altitude, track angle and flight speed commands are solved based on the given parameters shown in the following figure, including the initial and cruising flight speeds as well as initial and cruising altitudes:

The Aircraft library focuses on the actual flight, so it is not capable of simulating takeoffs and landings, and therefore the flight trajectory starts and ends with an altitude of 100 m (328 ft) and with a flight speed of 144 km/h (90 mph). By setting the cruise altitude to 500 m (1640 ft), cruise flight speed to 162 km/h (101 mph) and the lengths for u and r to 1100 m (3609 ft) and 900 m (2953 ft), respectively, we get these commands for defining the flight mission.

You will need to download Wolfram System Modeler and the Aircraft Modelica library, both available on the library store, to run the following inputs:

| ✕ |

| ✕ |

| ✕ |

This reference trajectory can be used to steer the lead aircraft while the others will follow a path with a fixed position with respect to the leader. In this simulation, the formation flight is performed with five aircraft to form a somewhat lighter version of the Christmas tree formation used by the Swedish Air Force.

Photo by: Jonn Leffmann

Creating an AutopilotThe Aircraft library contains autopilots, which translate the commands for reference altitude, track angle and flight speed into control actuator commands, namely the deflection angles for the elevator, ailerons and rudder as well as the throttle position. However, this is not suitable for controlling an aircraft for a formation flight, as the lateral position of the aircraft is not directly controlled in the built-in autopilots—only its track angle and velocity at a given time instance are controlled. One feature of the library allows users to add their own versions of different components, such as autopilots, so I decided to do that.

The new autopilot I created corrects the lateral position of the aircraft based on its deviation from the reference flight trajectory at any given time instance. The position of the reference trajectory through time is solved from the commands for reference flight trajectory with the built-in ReferenceTrajectory model:

| ✕ |

The correction of the lateral position is implemented in the built-in autopilot model by enabling the optional feed-forward connector for the PID controllers that are used for controlling the flight speed and track angle. The deviation from the reference flight trajectory along the x axis is entered into the flight speed controller, whereas the deviation from the reference flight trajectory along the y axis is entered into the track angle controller:

| ✕ |

To arrange the five aircraft into the triangle shape and enter the correct inputs into their new autopilots, I created this formation flight model, which takes the commands for reference altitude, track angle and flight speed, which are generated by the Wolfram Language script, as inputs:

| ✕ |

Fuel Comparisons and ModelingFor modeling the fuel-powered aircraft, we can use the model of a general aviation aircraft design found in the Aircraft library. If the mass properties (mass, center of gravity and inertia tensor) of the aircraft you want to simulate are all known, these can be used in the model. However, suppose you do not know the exact mass properties. You can use the built-in weight estimation method, which derives the mass properties of the entire aircraft from the aircraft geometry and a few design variables shown here:

Let’s start the comparison by connecting the reference flight trajectory commands into the formation flight model with general aviation aircraft built out of aluminum:

| ✕ |

The formation flight model includes an equation to solve for the variable for summing the consumed fuel mass of all the aircraft, so let’s plot that:

| ✕ |

This does not seem like very much fuel for flying a fleet of five general aviation aircraft for one hour, but it must be noted again that the simulation does not include taxi, takeoff or landing. The aircraft model used is also from the small end of the size spectrum, having a maximum takeoff weight of 600 kg (1327 lb). The average simulated fuel consumption of around 6.5 L/100 km (36 mpg) agrees with the consumption of the aircraft in the same size category.

One advantage of the weight estimation method is that it’s easy to test design changes, such as switching from aluminum to composite materials, so let’s simulate the same scenario with such a change in the aircraft models:

| ✕ |

This shows only a small decrease of 1.4 kg (3.1 lb) in fuel consumption compared to the fleet consisting of the same aircraft built out of aluminium. Thus, in this case, changing materials did not really save us a lot. However, as mentioned, nowadays there are electric aircraft, such as the Pipistrel Alpha Electro, so let’s use this instead. The Alpha Electro is one of the built-in aircraft models, so it is already parametrized and ready for use:

| ✕ |

First, this shows that the Pipistrel Alpha Electro has the range to fly the generated flight mission of 167 km (104 mi). Let’s also see how the animation of the formation flight looks in System Modeler:

Additionally, we can compare the cost of performing the formation flight with all three aircraft by using the current prices for gasoline and electricity (in the US):

| ✕ |

| ✕ |

| ✕ |

This shows that the savings in pure running costs of the fleet for this formation flight are only $1.62 when each aircraft is built out of composite materials instead of aluminum. A total of $35 is saved when changing the fleet into electric aircraft.

The savings from using the composite materials are indeed not much in this particular comparison, but one can also study in the Aircraft library how much an airline would save in a year if its fleet flies tens of thousands of kilometers daily with large passenger planes. The library can also be used to test, for example, how much more energy density is required for the battery cells to actually be able to fly longer distances with a mid-size electric passenger aircraft.

Besides wishing you a happy new year with a simulated formation flight, I have shown one example of using the new System Modeler Aircraft library to test and compare the performance of aircraft designs for any arbitrary flight mission. For more information, visit the Aircraft library page. You may also download the flight path notebook and formation flight modeler used to generate the flight trajectory and the System Modeler models used for modeling and simulating the formation flight.

| Check out Wolfram’s System Modeler Modelica library store or sign up for a System Modeler free trial. |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

That ChatGPT can automatically generate something that reads even superficially like human-written text is remarkable, and unexpected. But how does it do it? And why does it work? My purpose here is to give a rough outline of what’s going on inside ChatGPT—and then to explore why it is that it can do so well in producing what we might consider to be meaningful text. I should say at the outset that I’m going to focus on the big picture of what’s going on—and while I’ll mention some engineering details, I won’t get deeply into them. (And the essence of what I’ll say applies just as well to other current “large language models” [LLMs] as to ChatGPT.)

View Details

Have you ever watched Shark Tank or Dragons’ Den? Were you intrigued by the pitches of the founders? After the pitch, you might have heard the sharks or the dragons asking about the growth rate, profit or market size. What do those numbers say about a company? Are losses in the initial years always bad?

I come from an engineering background, so these business questions really intrigue me. To make sense of some of those numbers and how they can give an indication of the future, I decided to model a software-as-a-service (SaaS) company.

For those not familiar with SaaS companies, these are companies that host applications, either locally or on a third-party platform, and provide a service to their customers over the internet. Some popular SaaS companies are Spotify, Netflix and Google Workspace. In fact, SaaS companies have been the fastest-growing sector of the IT industry in the past decade.

For this model, I used the new Version 13.2 of System Modeler, released on December 14, 2022. It has some really cool features like control panels to quickly test scenarios, new Wolfram Language functions to measure system responses and improved resource functions to automatically create dashboards using the control panels. In this blog, you will see that I have made extensive use of these panels.

I will start with an overview of the model, followed by simulations of different strategies, such as the impact of pricing, the result of advertising and the effects of working conditions. Finally, I will introduce you to the concept of the Rule of 40 that angel investors use to judge a SaaS business’s sustainability.

Model of a Sales FunnelDiagram view of the sales funnel.

I have modeled the process of a customer journey while using a SaaS product. This is called a sales funnel in the marketing lingo. It usually comprises four stages, which are product awareness, interest, decision and action. Sometimes there are also add-ons such as customer loyalty and advocacy.

Let us understand this using an example. Suppose you are browsing through Instagram and you happen to see an interesting post about a smart watch. You don’t realize it, but just by watching that ad you become aware of the smart watch. Then a few days later, say you are watching a documentary on Netflix and you happen to see your favorite celebrity wearing the same watch. You immediately become interested. Then you browse for the watch and find a website where it is sold; you see the cost and compare it with similar watches. You suddenly find that there is a discount code just for the week and you make a decision to buy it. You use the smart watch and happen to enjoy it—you have become a loyal customer. You start talking about the watch with your friends and colleagues, and suddenly you are advocating the watch, thus driving more product awareness.

Stages of a customer journey.

Simulation results of the sales funnel model.

For the preceding SaaS model, the customer journey is similar. They begin in an unaware state, represented by the “unawareCustomer” block on the left. Through ads, people become aware of the product. As they look into more examples, use cases and webinars, they become interested and become trial users. If they find the product trial to be useful, customers may then select a one-time subscription and cancel after the first billing period. And finally, as they start using the product more, they hopefully find it helpful enough to keep using it regularly and become repeat customers. Of course, during their journey, there can be negative experiences or better product offerings from competitors, and people may quit the brand.

In case you are wondering what those purple and green blocks are, they are called stocks and flows. Stocks are like water containers, while flows are like pumps that control the rates of their in- and outflows. This idea was envisaged by Jay W. Forrester and its domain is known as system dynamics. For this model, I have made use of the free Business Simulation library, which contains pre-made blocks that you can use simply by dragging and dropping. More information about the library and system dynamics can be found in this blog.

Diagram view of the employee productivity component.

Simulation results of the employee productivity component.

The sales funnel model also consists of components like product development, employee productivity and more. The previous figure shows one of the submodels for estimating the productivity levels of employees. Once hired, employees need time to adapt to the new work environment and do not produce at their peak levels. With proper training and support, they become experts and thus more productive. However, there is also the possibility that due to stress and burnout, a productive employee loses motivation and reverts to an unproductive stage.

For the sake of brevity, I will not explain the other components. You can download a trial version of System Modeler and check them out. The blocks used to create them are the basic stock and flow blocks and some math blocks like gain, add, clip, etc.

Of course, my model does not cover all the details of a SaaS company, like rent and other miscellaneous expenses, nor does it consider the loss of customers due to a competitive market. The purpose of my model is to get a general trend by incorporating some first principles. Let’s begin to test some strategies.

Modeling a Pricing StrategyIn the model, the transition rates of customers, from trial users to occasional customers to repeat customers, are inversely related to the product price, whereas the loss rates of customers to competitors are directly related to the product price.

Let’s check a traditional pricing strategy. Here, the product price is constant. The company incurs some losses at the start as it spends heavily on advertising and product development. At the end of the simulation, the company makes an accumulated profit of seven million sharks (I am using sharks as the unit of money in this qualitative model) with a total customer base of one hundred thousand.

Simulation results of a traditional pricing strategy.

If you have used previous versions of System Modeler, you might notice that now you can add sliders, popup menus and other control objects in the Explore tab on the left in Simulation Center. This makes it really convenient to test different scenarios as well as provides a nice interface for model users. You can attach a plot (like the “pricing impact” plot) for quick reference or add multiple interfaces (called panels) to a model. In the sales funnel model, I have added three panels, “Product pricing,” “Employees,” and “Advertising.” Watch this video to see how easy it is to create such interactive panels.

Now, let’s try a new strategy. We will start selling the product at a very low price. As the product is very cheap, a lot of people buy it. After five years, we drastically increase the price of the product. This reduces the transition rate of customers from trial users to paid customers, and also increases the loss rate of customers to competitors. However, as some customers have started to use the product regularly, they will find it difficult to stop using it completely. For example, let’s say you have a few GBs of data in a mail service like Gmail, and suddenly they decide to start charging for their service. As you have so much dependency on it already, you decide to pay the charges and keep using it. At the end of the simulation, the accumulated profit is around 70 million sharks with a total customer base of four hundred thousand.

Simulation results of the new pricing strategy.

Visualizing an Employee Onboarding and Attrition Management PlanHow will the onboarding process and attrition management policy affect performance? When employees join a company, it is very unlikely that they will have the required skills and knowledge of standard operating procedures (SOPs) to be productive from day one. It will take time until they reach their peak productive levels. That duration would depend on the effort put into training and good working conditions like supportive colleagues. Similarly, with a poor attrition management policy, a company keeps losing productive employees and ends up with a major share of new employees who are not that productive.

For the exploration of this strategy, we will switch to the “Employees” panel. To keep the parameter values qualitative, I have used labels like “low,” “average” and “high” rather than absolute values for the training quality and attrition parameters. These labels are attached to different transition rates. The training quality controls the transition from the low-productivity stage to the high-productivity stage, whereas the attrition parameters control the quitting rates.

Let’s set the training quality to “average” and attrition to “high.” By an “average” training quality, I mean that the company has not defined a training path for its new employees, and as a result they acquire the necessary skills in bits and pieces. With “high attrition,” I mean that there is no attrition management policy in place. No special effort is taken by the company either by financial incentive or improving the working conditions to control the attrition rate. The simulation shows that at the end, there are about 35 employees left in the company, with most of them being in the low-productivity stage and only a few in the high-productivity stage. The company has produced about 200 thousand product man-hours at an expense of 7 million sharks—that is about 35 sharks per productive man-hour.

Simulation results with training quality set to “average” and attrition set to “high.”

Now, let’s put a carefully designed training program in place (training quality set to “best”) and take an additional effort in retaining employees (low attrition). The simulation shows that there are about 70 employees left in the company, with a majority of them being in a high-productivity stage. The company has produced about 450 thousand product man-hours at an expense of 15 million sharks; that is about 33 sharks per productive man-hour. So a good employee onboarding and attrition management plan has resulted in a better product (I am assuming more man-hours spent on the product will lead to a less buggy and more feature-rich product) along with cost savings.

Simulation results with training quality set to “best” and attrition set to “low.”

Maximizing Paid AdvertisingShould a company constantly spend money on ads, or can it stop investing after advertising for a certain period of time? In the model, the advertising funds are solely used for social media ads that convert unaware customers to aware customers.

We will switch to the “Advertising” panel for this strategy and use the “advertisements” plot. I use a square wave to define the advertisement fund distribution. You can set the start and stop years as well as the offset (used to define the advertisement budget). There is also a parameter to set the advertisement channel impact; this defines how effective the social media platform is. For instance, a high-impact label means a higher transition rate from unaware customers to aware customers.

In this strategy, we will spend five hundred thousand sharks every year from year 1. In the end, the company reaches an accumulated profit of eight million sharks. However, there is also an interesting behavior to observe in the middle plot, which tracks the number of ad impressions, i.e. ad views. You can see that the number of ad impressions is going down. This is because it becomes gradually harder to reach new unaware customers (new market) with a constant amount of yearly spending.

Simulation results with fixed advertising budget from year 1.

Now we will spend more and stop after five years. You can see that as we stop the spending, our accumulated profits start to grow, but they eventually plateau and we make no accumulated profit at the end. Perhaps it is a good strategy to invest regularly rather than irregularly.

Simulation results with a fixed advertising budget from year 1 to year 6.

Funding: The Rule of 40!There is a concept in the investment community for SaaS companies called the Rule of 40. It means the average revenue growth rate plus profit margins should be more than 40% for the business to be considered sustainable.

We will use the new SystemModelMeasurements function to find the growth rate between years 4 and 5. The function is especially useful when you work with designing controllers. It can help you quickly find your system’s control performance. Using it the way I have here is trivial, but I find it easy to obtain values this way.

You will need a compiler to run system modeling functions. Check this resource article for more information.

| ✕ |

| ✕ |

| ✕ |

| ✕ |

| ✕ |

Our model has an annual revenue growth rate of about 62% between years 4 and 5, and the profit margin is –34% in year 5. So according to the Rule of 40, the sum of the annual growth rate and profit margin is 28%; thus, it does not reach the minimum requirement of 40%.

Share the ResultsNow that we have tested some strategies, we would like to share the results so that others can play around with them. One way to do this is by sharing this notebook using the Wolfram Cloud. Even though the Wolfram Cloud does not have the graphical interface of System Modeler, we can still use it to distribute the model results as a dashboard.

We will use the SystemModelManipulate resource function to automatically generate the dashboard using the control panels that I stored in the model.

| ✕ |

I hope this blog gave you an idea of how modeling can help in simulating trends and enables you to understand how the various subcomponents interact with each other. If you have ideas on how I can improve my model, please feel free to comment below.

Learn MoreYou can download the model here. You will need to install the free Business Simulation library to run it. If you want to learn more about the new features of System Modeler 13.2 and the Business Simulation library, do check out the following links:

  • What’s New
  • Business Simulation library

Need help implementing a computation-based project? Talk to our Technical Consulting team about your project.

| Check out Wolfram’s System Modeler Modelica Library Store or sign up for a System Modeler free trial. |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Over the last few days, I’ve been asked how ChatGPT (particularly allied to Wolfram|Alpha) will affect education, how it relates to “computational literacy for all” and the computer-based mathematics education that my book The Math(s) Fix provides a blueprint for. Wolfram is involved in Edtech in many other ways too; it will be great seeing how the full range of powerful integrations emerge that can deliver better education.

View Details

It’s always amazing when things suddenly “just work”. It happened to us with Wolfram|Alpha back in 2009. It happened with our Physics Project in 2020. And it’s happening now with OpenAI’s ChatGPT. I’ve been tracking neural net technology for a long time (about 43 years, actually). And even having watched developments in the past few years I find the performance of ChatGPT thoroughly remarkable. Finally, and suddenly, here’s a system that can successfully generate text about almost anything—that’s very comparable to what humans might write. It’s impressive, and useful. And, as I’ll discuss elsewhere, I think its success is probably telling us some very fundamental things about the nature of human thinking.

View Details

As you may know from your own experience (or perhaps from the literature on education), passively receiving information does not lead to new knowledge in the same way that active participation in inquiry leads to new knowledge. Active learning describes instructional methods that engage students in the learning process. Student participation in the classroom typically leads to deeper knowledge, more developed critical thinking skills and increased motivation to continue learning. In this post, you will see example activities demonstrating how Wolfram|Alpha Notebook Edition can support active learning methods in your classroom.

Wolfram|Alpha Notebook Edition combines the natural language processing of Wolfram|Alpha with the flexible format of Wolfram Notebooks. Combine text, graphics, natural language computations, interactive visualizations and more in a single place. Whether you’re an educator or a student, Wolfram|Alpha Notebook Edition makes it easy to take an active role in the learning process.

Sample Activities for a Calculus CourseExploring Tangent LinesTangent lines (and their connection to derivatives) are a fundamental concept in calculus and one that students often have difficulty understanding by staring at a formula. However, with Wolfram|Alpha Notebook Edition, students can examine patterns and then make predictions based on their experiences. By actively forming connections from experience, they gain a greater intuition for the concept.

You can ask your students to define a function, say f(x) = x2:

| ✕ |

Now find the tangent line to this function at the point (1,1):

| ✕ |

Notice that the output contains a variety of information you will incorporate into lessons at some point during the instructional sequence. Any part of the output can be used for future exploration. Suppose you first want to have students explore the patterns that emerge as they consider tangent lines at different points. The last input can be easily modified to do just that:

| ✕ |

| ✕ |

With three computations performed, you could ask your students to make a prediction based on these examples. For example, what seems to be the relationship between the point chosen and the slope of the tangent line to this curve? By going back and considering patterns in their previous results, many students will pick up on the fact that the slope of the tangent line to this function has been twice the value of the x coordinate in the last three examples.

Connecting Tangent Lines to DerivativesSince your students already defined f(x) = x2, they don’t need to do so again in the same notebook:

| ✕ |

To introduce the important connection between tangent lines and derivatives, you can ask students to compare their previous results about tangent lines with new calculations about derivatives:

| ✕ |

| ✕ |

| ✕ |

By seeing concrete calculations and matching these patterns for themselves, students will be led to wonder if the patterns hold generally. Luckily, symbolic computations can also be done to help answer their questions:

| ✕ |

Include Interactive DemonstrationsWith concrete examples now grounding their understanding, you can help students learn why they have seen some sort of connection between tangent lines and derivatives. You can bring interactivity into your students’ math explorations by using Demonstrations from the Wolfram Demonstrations Project:

| ✕ |

Demonstrations can be browsed through or brought up using natural language inputs.

Sample Activities for an Algebra CourseUnderstanding the Role of ParametersUsing the pen-and-paper method, students must hand-draw a host of individual plots to really gain an understanding of the role of various parameters in equations. Using interactive plots, students can focus on the bigger-picture learning goal. What does a symbol mean in context?

| ✕ |

By using sliders to dynamically update a plot, you can save valuable instructional time. Instead of students spending all their energy rehearsing the details of drawing a plot by hand, they can direct their attention to the bigger question. What do m and b actually do in the equation y = m x + b? Intuition is immediately gained through active engagement with a dynamic plot.

Practice Plotting FunctionsOf course, knowledge of how to plot functions might be a learning goal you want to emphasize too. This can also be explored in an interactive way. The points on the interactive quiz can be moved by clicking, and the results can be checked automatically:

| ✕ |

Studying the domain and range of functions is another common goal while learning how to create graphs. This is a topic where students can immediately make the connection between symbols and graphs:

| ✕ |

Even after finding the symbolic result, many students will still have questions about why results are true. Students can immediately visualize the meaning of constraints on domain and range in their own plots:

| ✕ |

Solving Systems of Equations GraphicallyIn any algebra course, one would learn to solve systems of linear equations:

| ✕ |

Students can use inputs like the previous one to gain confidence in their problem-solving methods or to quickly find a result for use in an applied project. Students can also ask for the steps of calculations, building metacognitive skills as they self-assess whether or not they need that support:

| ✕ |

Of course, the symbolic steps that students learn do not necessarily illuminate the “why” of the solution. Even if students can follow an algorithm, it does not always mean they understand the algorithm. Your students can easily include a visualization showing the two lines intersecting to help them understand the “why” of a topic:

| ✕ |

From the previous plot, students can easily see that the intersection of the two lines is the solution of the system of equations. Remember that you can also introduce parameters and dynamically explore their effect on the problem:

| ✕ |

With an example like this one, you can help students understand when parameters in a linear system will (or won’t) affect the number of solutions. You can then introduce a parameter in a new place and ask students to discuss any changes in patterns they see:

| ✕ |

With these interactive visualizations, students can link their symbolic knowledge with their geometric intuition about a problem. In the previous example, students can see why certain values of coefficients and constants lead to infinitely many solutions as the lines coincide.

Linear Systems in Higher DimensionsHaving students use graph paper to plot surfaces is possible in two dimensions. However, students using pen and paper lose the benefits of visualization as soon as their problems become interesting in three dimensions. Using Wolfram|Alpha Notebook Edition, students can link symbolic knowledge with visual intuition in three dimensions:

| ✕ |

The previous linear system with two equations in three variables has infinitely many solutions on the line where the planes intersect. Using visualization, students can immediately understand why this is the case and then explore why introducing a third equation to this system does not always result in a unique solution:

| ✕ |

As an instructor, you can help students use the results of computation to lead them into the next “why” question. For example, the previous visualization shows how a system might have one or infinitely many solutions. It also gives them a strong hint as to why a linear system will never have exactly two solutions. Using the natural language inputs they have already interacted with, you can help students structure further queries to see if they can invent and visualize a linear system that has no solutions.

Where to Go from HereInteractive activities can be built in a variety of ways. As you saw, students and teachers can easily create interactive graphics with a single line of natural language input. You can also use a variety of starting points to help guide explorations. A snapshot of the menu to browse mathematics starting points is shown here:

In addition to starting points, you also saw an example of a Demonstration and an interactive plot quiz. These various ways to explore content can be used to build both lessons aligned with specific learning goals and student curiosity as they browse during unstructured time.

With Wolfram|Alpha Notebook Edition, students can recognize patterns, visualize results, perform computations and blend all these modes of engagement with textual explanations. Using the technology stack behind Wolfram|Alpha Notebook Edition, you can implement the classroom of tomorrow, where students actively generate questions about patterns and explore their questions through computation in real time.

Stay tuned for a future blog post with examples to implement group activities and capstone projects in Wolfram|Alpha Notebook Edition.

| Want to give it a try? Sign up for a trial of Wolfram|Alpha Notebook Edition. |

Engage with the code in this post by downloading the Wolfram Notebook
×

View Details

Wolfram Language has a wealth of built-in functions that require little or no programming, but there are special cases that require additional skill and knowledge to get the code to do things that go beyond those built-in capabilities. Wolfram U is pleased to announce a new free interactive course by veteran Wolfram programmer and instructor Dave Withoff that offers a collection of useful tips and instruction for intermediate-level programmers. This course will expand your understanding of Wolfram Language and help you to write more complex programs for custom results.

Let me start by saying that for beginners to the language, the free interactive course An Elementary Introduction to the Wolfram Language continues to be the best way to start learning how to write programs with Wolfram Language. A Guide to Programming with Wolfram Language is intended as a follow-on course for users who are ready to delve deeper into the language.

If you’re already familiar with the language and prepared to dive in to more advanced topics, you can explore the interactive course by clicking the following image before reading the rest of the blog post.

Motivation from HistoryTo introduce Wolfram Language and modern computational thinking to the world, Stephen Wolfram published An Elementary Introduction to the Wolfram Language in 2015. Functionality gains for the Wolfram Cloud soon made it possible to turn the book into a full interactive online course that includes videos, exercises and a scratch notebook in an easy-to-use interface, available to anyone with an internet connection. Indeed, lessons from the introductory course have been viewed over a million times on computers, tablets and smartphones around the globe since its launch.

The new intermediate-level programming course grew out of user interest for more advanced lessons and a desire to address questions from experienced users related to topics such as assignments and evaluation rules, patterns, program interfaces and plotting. Dave Withoff has been using Wolfram Language since the release of Mathematica 1.2 in 1989. Dave was a developer of packages and internal code for early versions of Mathematica and is an experienced instructor in the world of academia and with Wolfram U. He has used his expertise with the language to create the new course lessons, sharing tips and techniques he has developed over the years.

OverviewStudents should have some knowledge of Wolfram Language programming before they begin the course, which includes intermediate-level topics, such as the structure of expressions, variable localization and other details about the basic design of the system. Later sections include lessons on speed and memory efficiency, construction of interactive user interfaces, data visualization and debugging.

Here is a quick look at some of the lessons included in the course (shown in the table of contents in the left-hand column):

Even though the content goes beyond the introductory level, it should not take very long to complete this course. You should be able to finish the 22 short videos and eight quizzes in about four hours. The course tracks your progress automatically and generates your personalized certificate of course completion when you finish.

The next few sections of the blog post describe the different interactive course components in detail.

LessonsThe body of the course is a set of 22 lessons, starting with “Multiparadigm Programming.” This introductory lesson uses hands-on examples to illustrate different programming styles, followed by dedicated lessons on functional and rule-based programming that demonstrate different ways of writing programs in Wolfram Language.

Course sections include “Basic Language Structure,” “Values and Variables,” “Common Special Expressions,” “Program Interfaces,” “Plotting,” “Analyzing and Optimizing Programs” and “Selected Applications.” Each section has two or three lessons and an auto-graded quiz to test your understanding.

The videos range from 6 to 15 minutes in length, and each video is accompanied by a lesson notebook displayed on the right-hand side of the screen. There is an embedded scratch notebook where you can copy and paste Wolfram Language input directly from the lesson so you can try the examples for yourself.

ExercisesEach lesson comes with a set of exercises to practice the concepts. A detailed solution is provided for every exercise because the course is designed for independent study. The following shows an example from the lesson on knowledge representation, from the “Program Interfaces” section:

The notebooks with the exercises are interactive, so students can try variations of each problem in the Wolfram Cloud. In particular, they are encouraged to change the variables in examples and investigate the documentation and options available for built-in functions.

QuizzesAt the end of each section is a short, multiple-choice quiz with 10 problems. The quiz problems are at roughly the same level as those shown in the lessons, and a student who reviews the section thoroughly should have no difficulty in doing well on the quiz.

Students will receive instant feedback about their answers to the quiz questions, and they are encouraged to try hand and computer calculations to solve them.

Certifications AvailableStudents are encouraged to watch all the lessons and attempt the quizzes in the recommended sequence because course topics may rely on earlier concepts and techniques. When you complete the course, you can download a personalized certificate of completion. You will earn a course certificate after watching all the lessons and passing all the quizzes. Your progress is tracked automatically for you within the course using your Wolfram ID, making it easy to just pick up where you left off if you exit and return to the course later. A course certificate adds value to your professional resume, school and job applications or social media profile. This course provides useful preparation for the Wolfram Language Level I certification exam, and students are encouraged to take the exam and earn a proficiency certification.

Feedback from Daily Study Group ParticipantsWolfram U offered a sneak peek of the course lessons and quizzes to Daily Study Group participants this spring, and we received some valuable feedback. Here is what participants said:

  • “This course improves efficiency by enabling me to keypunch less and giving me the knowledge to reduce computer run time.”
  • “[Exercises] are always helpful and fun.”
  • “Multiple Choice questions are adequate to test one’s knowledge. The best exercises were those when we were asked to program a solution for a problem with a specific outcome. It shows the versatility of Wolfram Language.”
  • “I refer to the various notebooks included in the course to serve as examples and demonstrations of concepts applicable to the task on which I am working. Those dealing with symbolic computation are most helpful.”
  • “The programming guide was very helpful, provided insights into the language.”

A Building Block for SuccessI think you’ll find this new interactive course to be an enjoyable learning experience on your journey to become a more advanced and skilled user of Wolfram Language, just like our Daily Study Group cohort did. I hope you’ll reach out to let us know about the ways you find the course helpful and to share stories about your results. As always, we welcome any comments or suggestions for future courses and certifications.

AcknowledgmentsI’m grateful to Andre Kuzniarek at Wolfram for suggesting the course concept; to the author, Dave Withoff, for answering the call to create this collection of programming topics; and to the Wolfram U staff who contributed to making it a reality. I would specifically like to acknowledge Cassidy Hinkle, Laura Crawford and Mariah Laugesen of the Wolfram U team.

| Need a refresher on Wolfram Language? Sign up for the Wolfram Language Basics Daily Study Group, beginning January 17, 2023. |

View Details

Delivering from Our R&D PipelineIn 2020 it was Versions 12.1 and 12.2; in 2021 Versions 12.3 and 13.0. In late June this year it was Version 13.1. And now we’re releasing Version 13.2. We continue to have a huge pipeline of R&D, some short term, some medium term, some long term (like decade-plus). Our goal is to deliver timely snapshots of where we’re at—so people can start using what we’ve built as quickly as possible.

View Details

Algebra is an essential course for understanding nearly all mathematics at the high-school level and beyond. Whether you plan to calculate profits at a business, balance a chemical equation, write efficient computer code or even just figure out which weights to put on the bar at the gym, algebra is completely indispensable. It’s no wonder that elementary algebra is a required field of study regardless of your eventual career or academic goals.

I am pleased to announce that we are launching a free interactive course, Introduction to Elementary Algebra, which aims to help students learn algebra entirely from the ground up. Whether you are a beginner wanting to learn algebra for the first time, someone looking for a refresher or are curious about how to use Wolfram Language to learn and visualize algebraic concepts, this course is made for you. This course introduces students to basic algebraic terminology and rules, then uses these ideas to explore everything from linear equations to systems of inequalities to quadratic equations. Along the way, powerful Wolfram Language functions are used to verify, simplify and visualize all subjects of discussion.

Clicking the following will take you directly to the course, where you can immediately begin to explore the world of algebra.

Motivation from HistoryThe roots of algebra can be traced all the way back to the ancient Babylonians, who had developed a comparatively advanced arithmetical system with which they were able to do calculations using algorithms, or steps, for problem solving. In fact, we get the English word algorithm from a corruption of “al-Khwārizmī,” a Persian mathematician who lived roughly 12 hundred years ago and who is widely credited as being one of the fathers of algebra as a whole. Algebra even comes from al-Jabr, an abbreviation of the title of a book al-Khwārizmī wrote about how to balance and solve equations systematically. Many of the methods he discussed—updated with the notation introduced by the ancient Greek mathematician Diophantus—are still in use today.

Despite its ancient origins, algebra remains a relevant foundation to nearly every part of society. There are many questions in the real world that you might want to answer without knowing every single detail, and algebra equips you with the power to find those answers yourself.

OverviewThe course begins with a full introduction to the basic terminology, notation and ideas of elementary algebra. Students will then learn how to write, solve and graph linear equations before moving on to linear inequalities and systems of linear equations. The lessons conclude with an introduction to polynomials, which are then used to introduce and understand quadratic functions and equations.

Here is a bit of a sneak peak of the lessons that comprise this course:

This course has 28 primary lessons and one bonus lesson. I have made sure to pace the early lessons in particular very comfortably so as to ensure that the ideas have time to breathe and settle appropriately for even the newest student of algebra. My expectation is that you can finish watching all of the videos and complete the six short quizzes in roughly 10 hours.

Students taking this course need to know nothing other than the basics of arithmetic—addition, subtraction, multiplication and division—in order to dive in.

The rest of this blog post will discuss the different pieces of this course in more detail.

LessonsThis course is built around a collection of 28 lessons that aim to build the student’s problem-solving abilities and give them a solid sense of mathematical intuition. The first lesson of this collection asks the question “What is algebra?” and explains how algebra is distinct from arithmetic and why that distinction matters. The lesson continues by giving a brief history of the origins of algebra and a quick but in-depth look at where algebra is useful in the modern world, then outlines and summarizes the course as a whole.

The lessons in this course all contain examples that are worked out in real time in the corresponding videos. A full lesson notebook with detailed solutions is also included for each lesson. Wolfram Language usage is explained in careful detail, and students can use the code contained in the notebooks as a template for finding their own solutions, performing their own simplifications and generating their own graphs. Any code in these notebooks can be copied with a simple click, and that code can be pasted into (and edited within) the scratch notebook area at the bottom of the screen.

Videos for each lesson are roughly 16 minutes in length, but may be shorter or longer depending on the requirements of the material—the video on simplification, for example, is by far the longest video given the prime importance of that skill in the study of elementary algebra.

ExercisesEach lesson includes many worked examples to demonstrate the solution processes for all of the subject matter in the course, and additionally includes a separate set of exercises that are not featured in the accompanying video. Because this course is intended to facilitate independent study, these exercises also have solutions included.

QuizzesEach of this course’s six sections ends with a 10-question multiple-choice quiz. The questions in these quizzes are intended to be of comparable difficulty to the exercises and general material from the relevant sections, and I expect that anybody who reviews the material beforehand will be able to pass the quizzes without difficulty.

Students receive instant feedback upon submitting their responses to the quiz questions, and can use any method they think is reasonable to arrive at the correct answer.

Course CertificateStudents who wish to take advantage of everything this course has to offer will, by the time they complete it, have watched all 28 lessons and passed the six quizzes. At this point, students can—and should!—request a certificate of completion showing that they have achieved proficiency in the field of elementary algebra. This certificate can easily be added to your resume or social media profile too!

This course also has an optional final exam that you can take after completing all of the material. This final exam has more questions and a slightly higher difficulty than the quizzes, and passing it will net you a more advanced Level 1 Certification.

A Building Block for SuccessI’ve said it many times, but it bears repeating: elementary algebra is absolutely fundamental to society, and no matter what your academic or career path might look like, learning algebra will help you along that path. Scientists of all stripes, businesspeople, programmers and developers, and just people who do things like watch sports or go grocery shopping or lift weights all benefit from having a working knowledge of algebra and some of the mathematical intuition that comes with that. It is my hope that this Introduction to Elementary Algebra course will provide you with that knowledge and intuition and set you up for success in whatever field you choose to pursue.

AcknowledgmentsThis course is the result of the work of many people. I would like to thank Alejandra Ortiz Duran, Devendra Kapadia, Amruta Behera, Cassidy Hinkle, Joyce Tracewell, Veronica Mullen, Bob Owens, Matt Coleman, Mariah Laugesen, Laura Crawford and Anisha Basil for all the work they put into getting this course up and running.

| Want more help? Register for one of Wolfram U’s Daily Study Groups. |

View Details

Last year we released Version 13.0 of the Wolfram Language. Here are the updates in trees since then, including the latest features in 13.1.   Trees Continue to Grow 🌱🌳 In Version 12.3 we introduced Tree as a new fundamental construct in the Wolfram Language. In Version 13.0 we added a variety of styling options […]

View Details

Thanksgiving is a special day to celebrate family, friends and food. Preparation is key to a safe and delicious Thanksgiving dinner. Wolfram Language can help lower the stress and up the ease of your Thanksgiving Day preparations. Easy Calculation of Thawing and Cooking Times Uninvited guests like foodborne bacteria can ruin an otherwise perfect Thanksgiving […]

View Details

Last year we released Version 13.0 of the Wolfram Language. Here are the updates in visual effects and beautification since then, including the latest features in 13.1.   Visual Effects & Beautification At first it seemed like a minor feature. But once we’d implemented it, we realized it was much more useful than we’d expected. […]

View Details

Last year we released Version 13.0 of the Wolfram Language. Here are the updates in listability since then, including the latest features in 13.1.   Beyond Listability: Introducing Threaded From the very beginning of Mathematica and the Wolfram Language we’ve had the concept of listability: if you add two lists, for example, their corresponding elements […]

View Details

For more than three decades, Wolfram Research has brought together the most interesting cohort of Wolfram technology users from around the globe to network and learn during its annual Wolfram Technology Conference. This year, I was able to participate in my first conference. I am neither an expert nor even a practitioner of computational science, […]

View Details

Last year we released Version 13.0 of the Wolfram Language. Here are the updates in college and fractional calculus since then, including the latest features in 13.1.   College Calculus Transforming college calculus was one of the early achievements of Mathematica. But even now we’re continuing to add functionality to make college calculus ever easier […]

View Details

For 11 years, it has been tradition for the Wolfram Technology Conference to push our users to go above and beyond in Wolfram Language with our annual One-Liner Competition. In the competition, users are given a limit of 140 characters to create the most incredible output, which is then judged blindly based on brevity, aesthetics […]

View Details

Our annual Wolfram Technology Conference returned to an in-person gathering October 18–21, 2022, in our headquarter city of Champaign, Illinois, USA. One of our very favorite events that took place during the conference was the Innovator Award ceremony and keynote dinner, where Stephen Wolfram recognized eight exceptional individuals and teams from across fields, disciplines and […]

View Details

Last year we released Version 13.0 of the Wolfram Language. Here are the updates in chemical representations and symbolic pattern reactions since then, including the latest features in 13.1.   Representing Amounts of Chemicals Molecule lets one symbolically represent a molecule. Quantity lets one symbolically represent a quantity with units. In Version 13.1 we now […]

View Details

Love it or hate it, Excel is used the world over for everything from quickly adding a couple of numbers together to accidentally losing tens of thousands of COVID-19 cases in the UK. But if you’ve ever had to use Excel for anything beyond INDEX MATCH (or shudder VLOOKUP), you’ve probably found yourself nonstop Googling […]

View Details

In July 2022, we officially began the annual Wolfram High School Summer Camp with a single mission: sharpen the campers’ minds and dive deep into topics for the betterment of the future of the world. All campers can agree that this was a life-changing experience. The first mission of camp? Get to know the Zoom […]

View Details

Foodborne illness, or food poisoning, is something many of us have experienced. According to the World Health Organization, almost 1 in 10 people in the world fall ill each year after eating contaminated food. Luckily, by following recommended food safety practices, we can do our best to avoid getting sick. September is Food Safety Education […]

View Details

For the past 20 years, Stephen Wolfram has hosted the annual Wolfram Summer School: four weeks of intensive mentorship and teamwork and the completion of computational and research projects on a variety of topics, ranging from pure math to humanities, engineering, physics and more. Students from all over the world participate in Socratic classroom discussions, […]

View Details

For 10 thousand years, humans have been using fermentation to produce beverages for pleasure, rituals and healing. In ancient Greece, honey was fermented to produce mead. Today, popular sources of beverage fermentation are grains, grapes, berries and rice. The science of fermentation—known as zymology (or zymurgy)—is a fascinating blend of chemistry, biology, history and geography. […]

View Details

Wolfram|Alpha for iOS first launched in 2010. Since then, it has been an indispensable tool for students, teachers and pro users around the world, often ranking among the top 10 reference apps in the App Store®. Users are able to ask questions on a variety of topics, from solving homework equations to determining the airspeed […]

View Details

Technology is an increasingly important part of education, not just for pedagogical purposes, but also as a bridge to the real-world work students will experience as they enter nearly any given industry beyond the classroom. Mathematica’s ease of use and the flexibility of the Wolfram Language feature in several recent textbooks, ranging from within applied […]

View Details

In grade school, long arithmetic is considered a foundational math skill. In the past several decades in the United States, long arithmetic has traditionally been introduced between first and fifth grade, and remains crucial for students of all ages. The Common Core State Standards for mathematics indicate that first-grade students should learn how to add […]

View Details

In the past few years, there have been many significant anniversaries in the Mathematica world. This has made me think about my long personal history working with all things Mathematica. Here I present an account of how I got involved with this world, developed my part of it and continue to use it. I show […]

View Details

What is the half-derivative of x? Fractional calculus studies the extension of derivatives and integrals to such fractional orders, along with methods of solving differential equations involving these fractional-order derivatives and integrals. This branch is becoming more and more popular in fluid dynamics, control theory, signal processing and other areas. Realizing the importance and potential […]

View Details

Recognizing the importance of the topics and the powerful capabilities in the Wolfram Language for signal processing, we set out to develop a fully interactive course about signal and system processing to make the subject accessible to a wide audience. After sharing and reviewing the course materials, notes and experiences we’ve collected from university undergraduate-level […]

View Details

What is the 56th digit of π? (Nine.) How fast is a wolf’s heartbeat? (It’s 80–110 beats per minute.) What is the estimated average airspeed velocity of an unladen European swallow? (Wait a sec….) Where did these answers come from? Wolfram|Alpha. This knowledge engine has been around since 2009 and is often associated with mathematics, […]

View Details

Nos es muy grato anunciar que Wolfram|Alpha, el primer motor de inteligencia computacional del mundo, ya está disponible en español.

(Click here to read this post in English.)

View Details

Around the beginning of the first COVID-19-related lockdown in Austria, I was confronted with the problem of keeping my motivation up. From 2012–2016, my main tool for creating several Wolfram Demonstrations in 3D was Mathematica. Now, in addition to the Wolfram Language, Blender offered the possibility for physically based rendering (PBR) and high dynamic range […]

View Details

The Epic Continues... Last week it was 34 years since the original launch of Mathematica and what’s now the Wolfram Language. And through all those years we’ve energetically continued building further and further, adding ever more capabilities, and steadily extending the domain of the computational paradigm.

In recent years we’ve established something of a rhythm, delivering the fruits of our development efforts roughly twice a year. We released Version 13.0 on December 13, 2021. And now, roughly six months later, we’re releasing Version 13.1. As usual, even though it’s a “.1” release, it’s got a lot of new (and updated) functionality, some of which we’ve worked on for many years but finally now brought to fruition.