<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="https://community.wolfram.com">
    <title>Community RSS Feed</title>
    <link>https://community.wolfram.com</link>
    <description>RSS Feed for Wolfram Community showing ideas tagged with Astronomy with no replies sorted by most viewed.</description>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/167650" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1147299" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/311582" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/935929" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/908444" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1599174" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1382934" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1167599" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/900332" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/315991" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1378856" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/609294" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2576537" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1572831" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1575293" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3174521" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/298840" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3213271" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2576692" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2257245" />
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/167650">
    <title>Better globes with RevolutionPlot3D</title>
    <link>https://community.wolfram.com/groups/-/m/t/167650</link>
    <description>I decided that my project for tomorrow would be to start the Earth package for [url=https://en.wikipedia.org/wiki/User:Wakebrdkid/Wikicode]Wikicode[/url] with some simple 3D models. I was doing some preliminary investigations tonight, and I noticed an example in the help page for [url=http://reference.wolfram.com/mathematica/ref/Texture.html?q=Texture&amp;amp;lang=en]Texture[/url] that creates a globe with SphericalPlot3D. This function does not close the polygonal mesh, so it creates a very noticeable seam with the specularity setting used in the example.
[img=width: 360px; height: 360px;]/c/portal/getImageAttachment?filename=7664temp.png&amp;amp;userId=64737[/img]
RevolutionPlot3D does create a seamless mesh with respect to the axis of revolution, so it is preferred for making globes.
[img=width: 533px; height: 586px;]/c/portal/getImageAttachment?filename=temp2.png&amp;amp;userId=64737[/img]
I thought this was a tip worth sharing! I&amp;#039;ve found four images that I&amp;#039;m planning to use to start the Wikicode entry. You&amp;#039;ll be able to access them after tomorrow with something like:[mcode]Load[&amp;#034;Earth&amp;#034;]
Graphics3D[{Earth`Model[&amp;#034;Night&amp;#034;]}][/mcode]
[url=http://eoimages.gsfc.nasa.gov/images/imagerecords/73000/73938/world.200401.3x5400x2700.jpg]January[/url]
[url=http://eoimages.gsfc.nasa.gov/images/imagerecords/74000/74092/world.200407.3x5400x2700.jpg]July[/url]
[url=http://eoimages.gsfc.nasa.gov/images/imagerecords/57000/57735/land_ocean_ice_cloud_2048.jpg]Clouds[/url]
[url=http://eoimages2.gsfc.nasa.gov/images/imagerecords/79000/79765/dnb_land_ocean_ice.2012.3600x1800.jpg]Night[/url]

Let me know if you have any requests for Wikicode!</description>
    <dc:creator>Michael Hale</dc:creator>
    <dc:date>2013-12-09T07:29:26Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1147299">
    <title>[WSC17] Meteorite Landing Projections</title>
    <link>https://community.wolfram.com/groups/-/m/t/1147299</link>
    <description>This project finds the number of people per meteor sighting within a major metropolitan area. I brought in and analyzed a data set from the Wolfram Data Repository and a GeoTIFF from Columbia University to create a representation of how population density of a particular area, affects the number of meteors found in that same vicinity. The image displayed on the microsite is a combination of the two data sets that I analyzed within this project.&#xD;
&#xD;
The Process:&#xD;
 - I had to import information from Data repository and the the Columbia Database. The Population data took a bit of time to acquire and analyze because the file was imported as a ZipFile containing several, rather unreadable, files.&#xD;
 - I created a visual GeoGraphic to see how the two sets of data appeared in relation to each other and the world.&#xD;
 - From here, I had to find a way to quantify the data. I set up a GeoHistogram and divided up the world into hexagonal &amp;#034;bins&amp;#034; that returned the number of meteorite sightings that occurred within that geographical bin.&#xD;
 - Using the GeoHistogram and the data sets, I found the coefficient of people to meteorite sightings, found in the Function &amp;#034;meteoritesPerPerson&amp;#034;&#xD;
 - The last step was to create a microsite that, when given a city, returned the number of people per meteorite sighting for that respective geographical area.&#xD;
&#xD;
All of my code and relevant screenshots are located in the attached notebook.</description>
    <dc:creator>Chirasmita Kompella</dc:creator>
    <dc:date>2017-07-15T22:04:47Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/311582">
    <title>Astronomical Algorithms (New function: Phases of the Moon)</title>
    <link>https://community.wolfram.com/groups/-/m/t/311582</link>
    <description>Hi,&#xD;
&#xD;
A new function to the package:&#xD;
&#xD;
PhasesOfTheMoon[{y,m,d}]&#xD;
&#xD;
Marcel.</description>
    <dc:creator>Marcel Pelletier</dc:creator>
    <dc:date>2014-08-04T03:52:12Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/935929">
    <title>NASA to use Wolfram|Alpha API to offer more data on Science Website</title>
    <link>https://community.wolfram.com/groups/-/m/t/935929</link>
    <description>NASAs Science website is a premier location for space and science cutting-edge information. The National Aeronautics and Space Administration recently chose Wolfram|Alpha to utilize the ever-growing knowledgebase for use on their Science website.  NASA will use the Wolfram|Alpha API to apply this knowledge engine and offer more real-time information and data. NASA made this selection to more ably apply W|As natural language search abilities to enhance the user experience.</description>
    <dc:creator>Brittany Banks</dc:creator>
    <dc:date>2016-10-07T15:54:58Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/908444">
    <title>[WSSA16] Astronomy Club Scheduler</title>
    <link>https://community.wolfram.com/groups/-/m/t/908444</link>
    <description>Abstract&#xD;
=======&#xD;
&#xD;
Have you ever thought which place could be the best for sky observation? When should you enjoy clear sky? A lot people like astronomy and usually they observe astronomical objects using telescopes or camera. Star observers and photographers should know the importance of the clear sky during an observation of astronomical objects such as the moon. The moon is the brightest object in the sky and it is the main reason why  I started my  project with creating an astronomical  web program which will show the weather forecast  by comparing it with other regions in a chosen country and also the moon phases for the next week. Firstly, users will get an opportunity to observe the moon from their window or in the parks near to their home. Secondly, they will get information about regions where cloud density is the lowest. Finally, users will know the moon phases for the next week so they can use it for an observation. In this case it becomes easy to observe astronomical objects without having problems with the cloudy sky and the location choice.&#xD;
&#xD;
Table of Context&#xD;
--------------------&#xD;
&#xD;
 -  **Introduction to Astronomy Club Bot program**&#xD;
 -  **Searching for Wolfram Data**&#xD;
 -  **Creating Data Access Library**&#xD;
 -  **Integrating Library into a Single Macro-Function**&#xD;
 -  **Creating Cloud Micro-Site**&#xD;
 -  **Conclusion**&#xD;
&#xD;
Please interact with the actual web project at the [**following location**][1]&#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
#Introduction to Astronomy Club Bot program &#xD;
&#xD;
Astronomy Club Bot program has three inputs and a big output, which includes three important parts. First input is the name the of city where user wants to observe the Moon. The output has two parts related to each other. It shows the cloud cover and the moon phases for that week. Second and third inputs are the name of  the country and the exact date of  an observing. Third part shows map with the comparison of the cover densities  in all regions of a chosen country. The main thing that I used during programming was the Wolfram Data and all functions related to my web project.  &#xD;
&#xD;
Wolfram Data used&#xD;
=======&#xD;
 - WeatherForecastData&#xD;
 - CloudCoverFraction&#xD;
 - AdministrativeDivisionData&#xD;
 - CountryData&#xD;
 - CityData&#xD;
 - Date&#xD;
 - MoonPhase&#xD;
&#xD;
Creating Data Access Library&#xD;
=======&#xD;
&#xD;
After researching all important information I started to code a simple functions and the Wolfram data helped me. Here is my first plot (part of the main output) which shows the cloud cover for 6 days in a chosen city. That is why I used CloudCoverFraction to got the cloud cover information.&#xD;
&#xD;
    cit[x_] := &#xD;
     DateListPlot[&#xD;
      WeatherForecastData[GeoPosition[x], &amp;#034;CloudCoverFraction&amp;#034;], &#xD;
      PlotRange -&amp;gt; All, Mesh -&amp;gt; All, Filling -&amp;gt; Bottom]    &#xD;
    cit[Entity[&amp;#034;City&amp;#034;, {&amp;#034;Kathmandu&amp;#034;, &amp;#034;Kathmandu&amp;#034;, &amp;#034;Nepal&amp;#034;}]]&#xD;
&#xD;
  ![enter image description here][3]&#xD;
&#xD;
This is my second plot, which I connected with the first one (next output shows that). I used the MoonPhase function to got the illustration of the moon phase fraction for a current date. According to my written code the program counts days by assuming that the first day will be tomorrow (first=Tomorrow) so it adds the next 6 days to it and shows the moon phases for that days . &#xD;
&#xD;
    mn = Grid[{{ImageResize[#2, 35]}, {DateString[#, {&amp;#034;DayShort&amp;#034;}]}}] &amp;amp; @@@&#xD;
       MoonPhase[&#xD;
        With[{first = Tomorrow}, &#xD;
         DateRange[first, DatePlus[first, Quantity[6, &amp;#034;Days&amp;#034;]]]], &amp;#034;Icon&amp;#034;][&#xD;
       &amp;#034;Path&amp;#034;]&#xD;
&#xD;
Integrating Library into a Single Macro-Function&#xD;
=======&#xD;
&#xD;
Here I connected two simple functions by using Grid function and gave them sizes .In that case I have two parts in the one output. That means my program will take the city name and give me information about the cloud density and also the moon phases for 6 days.&#xD;
&#xD;
    tg[y_] := &#xD;
     Grid[{{Row[mn, Spacer[9]]}, {Show[cit[y], ImageSize -&amp;gt; 400]}}]&#xD;
    &#xD;
![enter image description here][4]&#xD;
&#xD;
 The AdministrativeDivisionData function helped me with the comparison of a regional cloud covers. The benefit of this data was that I found  administrative divisions of all needed countries by using EntityList and EntityClass. &#xD;
&#xD;
    div[z_] := &#xD;
    EntityValue[&#xD;
     Entity[&amp;#034;AdministrativeDivision&amp;#034;, {EntityProperty[&#xD;
         &amp;#034;AdministrativeDivision&amp;#034;, &amp;#034;ParentRegion&amp;#034;] -&amp;gt; z}], &amp;#034;Entities&amp;#034;]&#xD;
&#xD;
I made a function with WeatherForecastData for cloud cover prediction of the exact time.In this function I have two arguments, so they are responsible for the  Date and the GeoPostion.&#xD;
&#xD;
    wt[time_][ad_] := &#xD;
     QuantityMagnitude[&#xD;
      WeatherForecastData[GeoPosition[ad], &amp;#034;CloudCoverFraction&amp;#034;, time]]&#xD;
    &#xD;
The pltF function shows a regional plot with administrative divisions and the main argument depends on the exact date and the country that user should input. I used a &amp;#034;ct&amp;#034; argument which I defined by mapping a &amp;#034;wt&amp;#034; and a &amp;#034;region&amp;#034; functions.&#xD;
&#xD;
    pltF[y__, ct_] :=  &#xD;
      GeoRegionValuePlot[Thread[y -&amp;gt; ct], PlotStyle -&amp;gt; Opacity[.5], &#xD;
       GeoBackground -&amp;gt; &amp;#034;StreetMap&amp;#034;, &#xD;
       PlotLegends -&amp;gt; Placed[Automatic, Above], ImageSize -&amp;gt; 400];&#xD;
&#xD;
mapperFunct includes two arguments and makes easy to get a division plot that shows the comparison of the cloud covers for each region. This plot is evaluating by getting information of  date and position.  &#xD;
&#xD;
    mapperFunct[country_, time_] := Module[ {regions, ct, ans},&#xD;
      regions = div[country];&#xD;
      ct = wt[time] /@ regions;&#xD;
      ans  = pltF[regions, ct];&#xD;
      ans&#xD;
      ]&#xD;
    mapperFunct[Entity[&amp;#034;Country&amp;#034;, &amp;#034;Nepal&amp;#034;], Tomorrow]&#xD;
&#xD;
![enter image description here][5]&#xD;
&#xD;
Creating Cloud Micro-Site&#xD;
=======&#xD;
&#xD;
In finalFunct I added all important functions that  I programmed before. My function has 3 inputs with big output  as I wanted. It means my function runs by depending on 3 arguments.&#xD;
&#xD;
    finalFunct[city_, country_, time_] := &#xD;
     Rasterize[Column[{tg[city], mapperFunct[country, time]}], &amp;#034;Image&amp;#034;, &#xD;
      &amp;#034;ImageSize&amp;#034; -&amp;gt; 800]&#xD;
&#xD;
This is my final code of the web project where I used CloudDeploy function and included FormPage with 3 inputs. I changed my function permissions to Public, it means that program is opened for users so they can run my program and check the weather forecast for the moon observation.&#xD;
&#xD;
    CloudDeploy[&#xD;
    	Delayed[&#xD;
    		FormPage[{&#xD;
    			&amp;#034;city&amp;#034;-&amp;gt;&amp;lt;|&amp;#034;Interpreter&amp;#034;-&amp;gt;&amp;#034;City&amp;#034;,&amp;#034;Input&amp;#034;-&amp;gt;&amp;#034;Kathmandu&amp;#034;|&amp;gt;,&#xD;
    			&amp;#034;country&amp;#034;-&amp;gt;&amp;lt;|&amp;#034;Interpreter&amp;#034;-&amp;gt;&amp;#034;Country&amp;#034;,&amp;#034;Input&amp;#034;-&amp;gt;&amp;#034;Yerevan&amp;#034;|&amp;gt;,&#xD;
    			&amp;#034;date&amp;#034;-&amp;gt;List[With[{first=Tomorrow},DateRange[first,DatePlus[first, Quantity[6,&amp;#034;Days&amp;#034;]]]]]},&#xD;
    		finalFunct[#city,#country,#date]&amp;amp;]],&#xD;
    &amp;#034;AstroClub&amp;#034;,Permissions-&amp;gt;&amp;#034;Public&amp;#034;]&#xD;
&#xD;
Conclusion&#xD;
=======&#xD;
&#xD;
Astronomy Club Bot program gives an opportunity for amateur astronomers to take pictures and observe the moon with telescope or camera. Users will know the moon phase and the weather forecast by choosing the exact day when they want to organize observation. They also can go to another region where the cloud density will be the lowest. The main idea of this project was making an observation more comfortable for users who can&amp;#039;t leave his/her home or region. So I programmed it by using simple functions,wolfram data and documentation.  &#xD;
&#xD;
&#xD;
  [1]: https://www.wolframcloud.com/objects/user-3c5d3268-040e-45d5-8ac1-25476e7870da/AstroClub/&#xD;
  [2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2016-08-19at8.50.38AM.png&amp;amp;userId=900614&#xD;
  [3]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ASTRO_CLUB_Final.png&amp;amp;userId=900614&#xD;
  [4]: http://community.wolfram.com//c/portal/getImageAttachment?filename=4482Capture.PNG&amp;amp;userId=900614&#xD;
  [5]: http://community.wolfram.com//c/portal/getImageAttachment?filename=4387Capture1.PNG&amp;amp;userId=900614</description>
    <dc:creator>Tatevik Mkrtchyan</dc:creator>
    <dc:date>2016-08-19T11:47:25Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1599174">
    <title>Processing WMAP data as an audio stream</title>
    <link>https://community.wolfram.com/groups/-/m/t/1599174</link>
    <description>I&amp;#039;ve been experimenting with data from the [WMAP][1] mission.  It occurred to me to map the temperature data as audio to see what kinds of sounds might be generated.  I was expecting static, and indeed that&amp;#039;s what I got:&#xD;
![Audio mapping of WMAP data][2]&#xD;
There are 40+ columns in the data, including time markers in column 1 and science markers in columns 40-41, so here I simply discarded these irrelevant data and flattened the table.  With the first 1000 rows and a sample rate of 4000 you get a few seconds of simulated audio.  Over the entire table there are tens of thousands of rows, so that is next.  I also want to separate the different frequency bands so that the audio is divisible into distinct channels that make sense, instead of one monotone stream with all of the columns in it.  I wanted to document this because in reading the various papers about statistical analysis of the WMAP data, I don&amp;#039;t see an analysis or simulation of audio.  I provide my work in progress notebook.  Comments welcome.&#xD;
  [1]: https://map.gsfc.nasa.gov/&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=820.png&amp;amp;userId=1290344</description>
    <dc:creator>Andrew Watters</dc:creator>
    <dc:date>2019-01-26T16:57:54Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1382934">
    <title>[WSC18] Distribution of Craters on the Surface of the Moon</title>
    <link>https://community.wolfram.com/groups/-/m/t/1382934</link>
    <description>#Introduction&#xD;
&#xD;
The purpose of this project is to compute statistical properties of craters on the moon from an image. The core of this project was a function called `MorphologicalBinarize`, which essentially creates a binarized version of the inputted image, decides upon an upper threshold for an image and replaces all values greater than that threshold with a 1.. The pictures of the surface of the moon that I acquired, from NASA, were birds-eye view pictures, so the craters would appear to be circular, and could be outlined to perform computations on. The computations that I did were returning the approximate number of craters in the image, in a range, a graphic showing the distribution of crater sizes, and another graphic showing the distribution of distances between craters.&#xD;
&#xD;
##Number of Craters From an Image&#xD;
&#xD;
The first step was essentially experimentation with image processing functions, and finding circles. However, in order to return the number of craters, I first had to define another function for that specific purpose.&#xD;
&#xD;
    numberofcraters[randimg_Image] := &#xD;
     Module[{upperthresh, lowerbound, upperbound, lowisolimg, upisolimg}, &#xD;
      upperthresh = FindThreshold[randimg];&#xD;
      lowisolimg = &#xD;
       EdgeDetect[MorphologicalBinarize[randimg, {0.31, upperthresh}]];&#xD;
      upisolimg = &#xD;
       EdgeDetect[MorphologicalBinarize[randimg, {0.36, upperthresh}]];&#xD;
      lowerbound = &#xD;
       Length[ComponentMeasurements[lowisolimg, &amp;#034;Area&amp;#034;][[All, 2]]];&#xD;
      upperbound = &#xD;
       Length[ComponentMeasurements[upisolimg, &amp;#034;Area&amp;#034;][[All, 2]]];&#xD;
      {lowerbound, upperbound}]&#xD;
&#xD;
This function takes in an image as input, and essentially returns a range between which the number of craters in the picture is estimated to be. Note that it only will work for birds-eye views. `MorphologicalBinarize` takes in two arguments, an image and a range for which to binarize, which in this case is replace all values above the upper bound with a 1, and the upper bound of that range is `FindThreshold` of the image. `ComponentMeasurements` is used because it has the ability to find the area of each crater isolated by `MorphologicalBinarize`. `ComponentMeasurements` takes the property of a given image, which here will be &amp;#034;Area&amp;#034;, and it computes this property for the components of the image which it isolates with a given matrix. It will return a long list of areas for each crater. Then `Length` is applied to the list to get the number of craters. In order to create an lower and upper bound, two different arguments were used in `MorphologicalBinarize`, and then `Length` was applied.&#xD;
&#xD;
##Distribution of Crater Sizes&#xD;
&#xD;
Now that the number of craters has been defined, I was able to define a function that would actually return the distributions. &#xD;
&#xD;
    CraterSizeDistr2[img_Image, checkbox_] := &#xD;
     Module[{areaofcraterslist, avgcratersize, stdevcratersize, hist1, &#xD;
       hist2, dataset1, numofcraters, upperthresh2, min2cratersize, &#xD;
       max2cratersize, mostcommonelement, highlightedimg, realdistr2, &#xD;
       listofallcenters, distanceallcenters, hist3}, &#xD;
      upperthresh2 = FindThreshold[img];&#xD;
      areaofcraterslist = &#xD;
       ComponentMeasurements[&#xD;
         EdgeDetect[MorphologicalBinarize[img, {0.28, upperthresh2}]], &#xD;
         &amp;#034;Area&amp;#034;][[All, 2]];&#xD;
      avgcratersize = Mean[areaofcraterslist];&#xD;
      stdevcratersize = StandardDeviation[areaofcraterslist];&#xD;
      min2cratersize = Min[areaofcraterslist];&#xD;
      max2cratersize = Max[areaofcraterslist];&#xD;
      mostcommonelement = Commonest[areaofcraterslist];&#xD;
      realdistr2 = ImageResize[Image, 700];&#xD;
      hist2 = &#xD;
       SmoothHistogram[areaofcraterslist, &#xD;
        PlotLabel -&amp;gt; &#xD;
         Style[&amp;#034;Probability Distribution of Crater Sizes&amp;#034;, FontSize -&amp;gt; 14,&#xD;
           FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;], &#xD;
        AxesLabel -&amp;gt; {Style[&amp;#034;Crater Size&amp;#034;, FontSize -&amp;gt; 11, &#xD;
           FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;], &#xD;
          Style[&amp;#034;Probability of Size&amp;#034;, FontSize -&amp;gt; 11, &#xD;
           FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;]}, ImageSize -&amp;gt; Large];&#xD;
      dataset1 = &#xD;
       Dataset[{&amp;lt;|&amp;#034;Mean&amp;#034; -&amp;gt; avgcratersize, &#xD;
          &amp;#034;Standard Deviation&amp;#034; -&amp;gt; stdevcratersize|&amp;gt;}];&#xD;
      highlightedimg = &#xD;
       HighlightImage[img, EdgeDetect[MorphologicalBinarize[img]]];&#xD;
      listofallcenters = &#xD;
       Subsets[ComponentMeasurements[&#xD;
          EdgeDetect[MorphologicalBinarize[img]], &amp;#034;BoundingDiskCenter&amp;#034;][[&#xD;
         All, 2]], 2];&#xD;
      distanceallcenters = Map[distancelistlists, listofallcenters];&#xD;
      hist3 = &#xD;
       Histogram[distanceallcenters, &#xD;
        PlotLabel -&amp;gt; &#xD;
         Style[&amp;#034;Distribution of Distances Between Craters&amp;#034;, &#xD;
          FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 12], &#xD;
        AxesLabel -&amp;gt; {Style[&amp;#034;Distance&amp;#034;, &#xD;
           FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 8], &#xD;
          Style[&amp;#034;Number of Craters with that Distance&amp;#034;, &#xD;
           FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 8], &#xD;
          ImageSize -&amp;gt; Large, &#xD;
          FrameTicks -&amp;gt; {{Style[Automatic, &#xD;
              FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 1], &#xD;
             None}, {Style[Automatic, &#xD;
              FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 1], &#xD;
             None}}}];&#xD;
      Switch[checkbox, True, cratercount = 0.5*numberofcraters2[img], &#xD;
       False, cratercount = numberofcraters[img]];&#xD;
      Grid[{{Style[&#xD;
          &amp;#034;The Number of Craters is Estimated to be between &amp;#034; &amp;lt;&amp;gt; &#xD;
           ToString[cratercount[[1]]] &amp;lt;&amp;gt; &amp;#034; and &amp;#034; &amp;lt;&amp;gt; &#xD;
           ToString[cratercount[[2]]], FontSize -&amp;gt; 20, &#xD;
          FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;], &#xD;
         SpanFromLeft}, {hist2, SpanFromLeft}, {realdistr2, &#xD;
         ImageResize[hist3, 800]}, {ImageResize[highlightedimg, 500], &#xD;
         SpanFromLeft}, {Grid[{{&amp;#034;Size Distribution&amp;#034;, &#xD;
            SpanFromLeft}, {&amp;#034;Mean&amp;#034;, avgcratersize}, {&amp;#034;Standard Deviation&amp;#034;,&#xD;
             stdevcratersize}, {&amp;#034;Smallest Crater Size&amp;#034;, &#xD;
            min2cratersize}, {&amp;#034;Largest Crater Size&amp;#034;, &#xD;
            max2cratersize}, {&amp;#034;Most Common Crater Size&amp;#034;, &#xD;
            mostcommonelement}}, Frame -&amp;gt; All], SpanFromLeft}}]]&#xD;
&#xD;
After I had all my variables, which aided in the computations and were used to hold values until they were ready for the display, I simply compiled everything into a grid, which lets me arrange everything however I want, whether in a column, side-by-side, etc. Some sample graphics are shown below. Something that is worth noting is the `Switch` with the checkbox inside. Many thanks to Andrea for helping me create this, and for a lot of help with the microsite. When `MorphologicalBinarize` was called on darker images, it tended to group everything together and provide very inaccurate results. For example, in an image that was expected to have around 200 craters, it predicted closer to 500. The algorithm applies `MorphologicalBinarize`, which looks for the outline of the crater and identifies it as a crater. However, with shadows, it treats everything as an outline, therefore providing more craters than there actually are. In order to solve this problem, I defined a second number-of-craters function, `numberofcrater2`, which was the same as the original, but has slightly different parameters in the `MorphologicalBinarize` function, to provide smaller estimates for the number of craters. This could be done by creating a &amp;#034;darkness scale&amp;#034; of some sorts, and implementing this into Mathematica so before applying the function to the given image, it could first analyze the image for darkness and decide on correct parameters. It could also zoom in, and analyze the image in smaller chunks and then piece everything together.. Also, the line with `ImageResize[Image,700]`,  resized an image of the distribution of crater sizes over the entire dataset of moon pictures from NASA, which can be compared to each individual image. This was the main part of the project, as it was my initial goal. However, this did not take very long to do, and afterwards, I had many directions to continue in.&#xD;
&#xD;
![enter image description here][1] ![enter image description here][2]&#xD;
&#xD;
&#xD;
###Highlighting the Number of Craters Detected By My Algorithm&#xD;
&#xD;
To provide an image of how many craters my algorithm actually accounted for, I used the `HighlightImage` function:&#xD;
&#xD;
    highlightedimg = &#xD;
     HighlightImage[img, EdgeDetect[MorphologicalBinarize[img]]]&#xD;
&#xD;
The input, img, is the same as the input of the CraterSizeDistr2 because the highlighted img code is within that function.&#xD;
&#xD;
![enter image description here][3]&#xD;
&#xD;
&#xD;
###Distribution of Distances Between Craters&#xD;
&#xD;
The second extension was upon another distribution. However, instead of having something to do with size, this instead mapped all the distances between any two craters to a histogram. The process for doing this was essentially the same as for the distribution of areas; `ComponentMeasurement` very conveniently has an argument that includes the center coordinates of each crater, so I was able to utilize this, take all subsets of the list, apply `EuclideanDistance`, which simply finds the distance between 2 vectors, and then creates a histogram. However, there was a slight issue. Because the `EuclideanDistance` takes two arguments, which are lists, and the `ComponentMeasurements` returns a list of lists, which each contain two lists. So, I had to define a function to apply `EuclideanDistance` to a list containing two lists each, and then map that to the entire list.&#xD;
&#xD;
    distancelistlists[lst_List] := &#xD;
     Module[{firstlist, secondlist}, firstlist = lst[[1]];&#xD;
      secondlist = lst[[2]];&#xD;
      EuclideanDistance[firstlist, secondlist]]&#xD;
    &#xD;
    distanceallcenters = Map[distancelistlists, listofallcenters];&#xD;
    &#xD;
    hist3 = Histogram[distanceallcenters, &#xD;
       PlotLabel -&amp;gt; &#xD;
        Style[&amp;#034;Distribution of Distances Between Craters&amp;#034;, &#xD;
         FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 12], &#xD;
       AxesLabel -&amp;gt; {Style[&amp;#034;Distance&amp;#034;, &#xD;
          FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 8], &#xD;
         Style[&amp;#034;Number of Craters with that Distance&amp;#034;, &#xD;
          FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 8], &#xD;
         ImageSize -&amp;gt; Large, &#xD;
         FrameTicks -&amp;gt; {{Style[Automatic, &#xD;
             FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 1], &#xD;
            None}, {Style[Automatic, &#xD;
             FontFamily -&amp;gt; &amp;#034;Bitstream Vera Sans Mono&amp;#034;, FontSize -&amp;gt; 1], &#xD;
            None}}}];&#xD;
&#xD;
![enter image description here][4]&#xD;
&#xD;
&#xD;
  [1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=Download.jpg&amp;amp;userId=1371899&#xD;
  [2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=Download2.jpg&amp;amp;userId=1371899&#xD;
  [3]: http://community.wolfram.com//c/portal/getImageAttachment?filename=Download4.jpg&amp;amp;userId=1371899&#xD;
  [4]: http://community.wolfram.com//c/portal/getImageAttachment?filename=Download3.jpg&amp;amp;userId=1371899&#xD;
&#xD;
The `distancelistlists` function was what took the `EuclideanDistance`, the `distanceallcenters` was what mapped the function to the entire list, and the `hist3` was just recording all the data in a histogram. This particular part of the code was sort of a side project; that is, it wasn&amp;#039;t in the initial project design, I just decided that I had time, and implementing it would be something that I thought would be interesting.&#xD;
&#xD;
##Cloud Deployment&#xD;
&#xD;
The last step was the actual deployment to the cloud, in the form of a microsite, which I also got a ton of help on from Andrea. The basic deployment wasn&amp;#039;t too hard; I simply coded it so that the microsite accepted an input, in the form of an image and an option to select if there were shadows, which was where the `numberofcraters2` came in. However, the complications arose when I realized that the microsite looked completely blank, as it wasn&amp;#039;t styled in any way, shape or form. This meant I had to add color, labels, and things as such to essentially make the site look nicer. There was also some bit of styling that needed to be done for the graphics as well.&#xD;
&#xD;
    form5 = FormFunction[{&amp;#034;Img&amp;#034; -&amp;gt; &amp;lt;|&amp;#034;Interpreter&amp;#034; -&amp;gt; &amp;#034;Image&amp;#034;, &#xD;
          &amp;#034;Label&amp;#034; -&amp;gt; &amp;#034;Insert an Image of the Moon&amp;#034;|&amp;gt;, &#xD;
        &amp;#034;Checkbox&amp;#034; -&amp;gt; &amp;lt;|&amp;#034;Interpreter&amp;#034; -&amp;gt; {&amp;#034;Yes&amp;#034; -&amp;gt; True, &amp;#034;No&amp;#034; -&amp;gt; False}, &#xD;
          &amp;#034;Label&amp;#034; -&amp;gt; &amp;#034;Are there shadows?&amp;#034;|&amp;gt;}, r, &#xD;
       AppearanceRules -&amp;gt; &amp;lt;|&#xD;
         &amp;#034;Title&amp;#034; -&amp;gt; &amp;#034;The Distribution of Craters on the Moon&amp;#034;, &#xD;
         &amp;#034;Description&amp;#034; -&amp;gt; &#xD;
          &amp;#034;This site will give you an estimate for the number of craters \&#xD;
    in the image you input, and also give you a distribution of the \&#xD;
    sizes, along with some statistics.&amp;#034;, &amp;#034;ItemLayout&amp;#034; -&amp;gt; &amp;#034;Vertical&amp;#034;, &#xD;
         &amp;#034;PageTheme&amp;#034; -&amp;gt; &amp;#034;Blue&amp;#034;, &#xD;
         &amp;#034;SubmitLabel&amp;#034; -&amp;gt; &amp;#034;Tell Me Something About the Image!&amp;#034;|&amp;gt;];&#xD;
    r[assoc_] := CraterSizeDistr2[assoc[&amp;#034;Img&amp;#034;], assoc[&amp;#034;Checkbox&amp;#034;]];&#xD;
    CloudDeploy[form5, &amp;#034;Distribution of Craters on the Moon&amp;#034;, &#xD;
     Permissions -&amp;gt; &amp;#034;Public&amp;#034;]&#xD;
&#xD;
The `r` function referenced in the first line of code is a function that takes in the associations, indicated by the `&amp;lt;||&amp;gt;`,  and returns the `CraterSizeDistr2` evaluated with that `assoc`. This essentially is just telling the microsite to evaluate the function at the image input from the user, and the `checkbox` is to indicate whether to use `numberofcraters` or `numberofcraters2`, so as to use the correct parameters for `MorphologicalBinarize`.&#xD;
&#xD;
#Conclusion&#xD;
The functions that I implemented take an image of the moon, (assuming a bird&amp;#039;s-eye view ) and return the number of craters estimated to be in the image, in a range, a graphic of the distribution of crater sizes over the particular picture and over the entire dataset, a distribution of crater distances, a highlighted image highlighting the craters detected by my algorithm, and some statistics about the inputted image, such as Mean, Standard Deviation, etc.  I would like to thank Andrea and Rob for all the help they gave me in completing my project, along with the other mentors. I would also like to thank Dr. Wolfram and the Wolfram High School Summer Camp for the opportunity to become engaged in such an adventure, and one that will remain with me for years to come.</description>
    <dc:creator>Samanthak Thiagarajan</dc:creator>
    <dc:date>2018-07-13T19:12:06Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1167599">
    <title>Precision computation for today&amp;#039;s eclipse</title>
    <link>https://community.wolfram.com/groups/-/m/t/1167599</link>
    <description>If you are anywhere near the path of totality for today&amp;#039;s eclipse, check out http://www.precisioneclipse.com to find the precise time of onset, totality and more!&#xD;
&#xD;
Backstory: [When Exactly Will the Eclipse Happen? A Multimillenium Tale of Computation][1]&#xD;
&#xD;
Happy Viewing (protect those eyes!)&#xD;
&#xD;
Best,&#xD;
Danielle&#xD;
&#xD;
[![enter image description here][2]][1]&#xD;
&#xD;
&#xD;
  [1]: http://blog.stephenwolfram.com/2017/08/when-exactly-will-the-eclipse-happen-a-multimillenium-tale-of-computation&#xD;
  [2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=PrecisionEclipseDetails-6201.png&amp;amp;userId=11733</description>
    <dc:creator>Danielle Rommel</dc:creator>
    <dc:date>2017-08-21T14:17:33Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/900332">
    <title>Classifier for Galaxy Types</title>
    <link>https://community.wolfram.com/groups/-/m/t/900332</link>
    <description>## Introduction ##&#xD;
&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
After attending the Mathematica Summer Camp in 2014, I participated in the Wolfram Mentorships program in October 2015. The program allowed me to use my Mathematica programming skills to work on a project. One of the projects the program offered me to work on was classifying galaxy images to their correct galaxy type: for example, an image of a spiral galaxy correctly classified as spiral.&#xD;
&#xD;
To build the classifier, there had to be images for each of the three galaxy types: spiral, elliptical, and irregular, and a way to correctly distinguish each image as one of the three types.&#xD;
## Retrieving the Images ##&#xD;
Using the GalaxyData[] function in Mathematica, the Wolfram Data Set contained over 8000 spiral images, 1994 elliptical images, and 150 irregular images; other galaxy types such as &amp;#034;barred spiral&amp;#034; or &amp;#034;dwarf elliptical&amp;#034; would be counted as part of one of the three sets. Since there were only 150 irregular galaxy type images available, which was not enough for the classifier, I excluded this class and used only the spiral and elliptical galaxy types as classes.&#xD;
&#xD;
I used the following code to obtain the images and add to the class, then rearranged them so that I randomized the classes:&#xD;
&#xD;
    galaxyData = GalaxyData[];&#xD;
    galaxyImages = GalaxyData[galaxyData, {&amp;#034;Name&amp;#034;, &amp;#034;GalaxyType&amp;#034;, &amp;#034;Image&amp;#034;}];&#xD;
    spiralImages = &#xD;
      Select[galaxyImages, &#xD;
       Head[#[[3]]] == &#xD;
          Image &amp;amp;&amp;amp; (#[[2]] == &amp;#034;spiral&amp;#034; || #[[2]] == &amp;#034;barred spiral&amp;#034;) &amp;amp;];&#xD;
    ellipticalImages = &#xD;
      Select[galaxyImages, &#xD;
       Head[#[[3]]] == Image &amp;amp;&amp;amp; #[[2]] == &amp;#034;elliptical&amp;#034; &amp;amp;];&#xD;
    spiralRandom = RandomSample[spiralImages[[All, 3]], 1995];&#xD;
    ellipticalRandom = RandomSample[ellipticalImages[[All, 3]], 1994];&#xD;
### Additional Images ###&#xD;
Finding more images to add to these sets was also a challenge. However, I searched online and managed to find a research paper with a link to about 230 more images for both spiral and elliptical classes. Since they were in color and did not have the same dimensions as the images in the Wolfram Data Set, I had to Grayscale and then resize them.&#xD;
&#xD;
The online images can be found through this link: [http://vfacstaff.ltu.edu/lshamir/][1], click &amp;#034;software&amp;#034;, then &amp;#034;Ganalyzer&amp;#034;, then look for &amp;#034;A set of galaxy images...can be downloaded here&amp;#034; with &amp;#034;here&amp;#034; being the downloadable link. Unzip the &amp;#034;GalaxyImages.zip&amp;#034; file, then run the following below (make sure the directory in the code below is the correct location of &amp;#034;GalaxyImages/&amp;#034;).&#xD;
&#xD;
    spiralNew = &#xD;
      ImageResize[ColorConvert[Import[#], &amp;#034;Grayscale&amp;#034;], {150, 150}] &amp;amp; /@ &#xD;
       FileNames[&amp;#034;*.tiff&amp;#034;, {&amp;#034;~/Downloads/GalaxyImages/spiral&amp;#034;}];&#xD;
    ellipticalNew = &#xD;
      ImageResize[ColorConvert[Import[#], &amp;#034;Grayscale&amp;#034;], {150, 150}] &amp;amp; /@ &#xD;
       FileNames[&amp;#034;*.tiff&amp;#034;, {&amp;#034;~/Downloads/GalaxyImages/elip&amp;#034;}];&#xD;
    spiralNewRandom = RandomSample[spiralNew, 223];&#xD;
    ellipticalNewRandom = RandomSample[ellipticalNew, 224];&#xD;
&#xD;
## Training and Test Sets ##&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
Once I collected all these images, I combined them into two sets: one for the training set and the other for the test set. First, I used half of the spiral images from the Wolfram Data Set and half of the spiral images from the additional images and joined them for the training set; I did the same for the elliptical galaxy type. The other halves get placed for the test set.&#xD;
&#xD;
### Training ###&#xD;
    spiralTraining = &#xD;
      Join[Take[spiralRandom, 998], Take[spiralNewRandom, 111]];&#xD;
    ellipticalTraining = &#xD;
      Join[Take[ellipticalRandom, 997], Take[ellipticalNewRandom, 112]];&#xD;
### Test ###&#xD;
    spiralTest = Join[Drop[spiralRandom, 998], Drop[spiralNewRandom, 111]];&#xD;
    ellipticalTest = &#xD;
      Join[Drop[ellipticalRandom, 997], Drop[ellipticalNewRandom, 112]];&#xD;
## Galaxy Image Processing Function ##&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
To ensure a more accurate classification, an image processing technique was used on all galaxy images. This was used to potentially increase the chances of a galaxy image being classified as either spiral or elliptical, and make it more clear for the classifier to increase its accuracy.&#xD;
&#xD;
Elaborating more on what I used to look at the function, I used the image-processed training and test sets into a temporary classifier that allows me to look visually at what the function is doing to the images and how it can reach a higher accuracy. This code was suggested to me by Todd Rowland.&#xD;
### How I chose the Image Processing Technique ###&#xD;
    Grid[Prepend[&#xD;
        MapThread[&#xD;
         Prepend, {Outer[&#xD;
           Function[{actual, predicted}, &#xD;
            ImageCollage[&#xD;
             Select[testset[[actual]], &#xD;
              galaxyClassifier[#] === predicted &amp;amp;], &#xD;
             Method -&amp;gt; &amp;#034;Rows&amp;#034;]], #, #], #}, 1], &#xD;
        Prepend[#, &amp;#034;&amp;#034;]] &amp;amp;[{&amp;#034;Spiral&amp;#034;, &amp;#034;Elliptical&amp;#034;}], Frame -&amp;gt; All]&#xD;
I eventually stuck with a combination of GeodesicOpening[]\[LongDash]removing white spots of an image\[LongDash]and Sharpen[]\[LongDash]sharpens the image.&#xD;
&#xD;
    galaxyProcessing[random_] := &#xD;
     GeodesicOpening[Sharpen[#, 10], 4] &amp;amp; /@ random&#xD;
I then mapped them onto the training and test sets, which will later be used for the classifier.&#xD;
&#xD;
    trainingset = &amp;lt;|&amp;#034;Spiral&amp;#034; -&amp;gt; galaxyProcessing[spiralTraining], &#xD;
       &amp;#034;Elliptical&amp;#034; -&amp;gt; galaxyProcessing[ellipticalTraining]|&amp;gt;;&#xD;
    testset = &amp;lt;|&amp;#034;Spiral&amp;#034; -&amp;gt; galaxyProcessing[spiralTest], &#xD;
       &amp;#034;Elliptical&amp;#034; -&amp;gt; galaxyProcessing[ellipticalTest]|&amp;gt;;&#xD;
## Classifier ##&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
The final step was to go through different classification methods and observe how the accuracy would change. The methods I used were LogisticRegression, RandomForest, NearestNeighbors, NeuralNetwork, and a default which would have the method be done automatically. Of these methods, RandomForest had consistently shown to have higher accuracies than the other methods, and LogisticRegression would have the lowest.&#xD;
&#xD;
    galaxyClassifier = &#xD;
      Classify[trainingset, PerformanceGoal -&amp;gt; &amp;#034;Quality&amp;#034;, &#xD;
       Method -&amp;gt; &amp;#034;RandomForest&amp;#034;];&#xD;
    ClassifierMeasurements[galaxyClassifier, testset, {&amp;#034;Accuracy&amp;#034;, &#xD;
      &amp;#034;ConfusionMatrixPlot&amp;#034;}]&#xD;
## Conclusion ##&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
The classifier function has obtained an accuracy of 0.7768 using the RandomForest method. this implies that the classifier has roughly an 80% chance of correctly labeling a galaxy image to its galaxy type. While the accuracy generally changes for each randomized sample of training and test sets, the accuracy would remain to be above 0.75 with the image processing technique and the RandomForest method.&#xD;
## Challenges ##&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
My biggest challenge in this project was that I had to go through numerous image processing functions that would simplify the image into a spiral or elliptical image. Going through many functions, such as ImageConvolve[], Binarize[], ImageCorners[], GeodesicClosing[], etc., was already hard enough. I had to also combine these functions and change their pixel radii or sizes.&#xD;
&#xD;
In addition, going through the galaxy type and placing them into the respective class was easy, but the hard part was finding an image available for each galaxy type. This included the irregular galaxy type: no additional images for this type were accessible from an online reference. So, a total of only 150 images were available for this class, compared to over 2200 total images for each spiral and elliptical classes; including the irregular class would be inappropriate, though it would have been beneficial.&#xD;
## Final Thoughts ##&#xD;
&#xD;
----------&#xD;
&#xD;
&#xD;
Although I felt that the project could have been more efficient and that it felt like a simple task, I believe that it was an essential part of improving my skills and increasing my interest in the Mathematica language.&#xD;
&#xD;
I would like to thank Alison Kimball and Todd Rowland for their mentoring and help in this project.&#xD;
&#xD;
  [1]: http://vfacstaff.ltu.edu/lshamir/</description>
    <dc:creator>Aayush Dubey</dc:creator>
    <dc:date>2016-08-07T20:08:46Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/315991">
    <title>Astronomical Algorithms (Small correction in a function)</title>
    <link>https://community.wolfram.com/groups/-/m/t/315991</link>
    <description>Hi,&#xD;
&#xD;
I made a correction in the function &amp;#034;RisingTrannsitSetting&amp;#034;.  So I post the new library.&#xD;
&#xD;
Marcel.</description>
    <dc:creator>Marcel Pelletier</dc:creator>
    <dc:date>2014-08-10T19:53:32Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1378856">
    <title>[WSS18] Spectral Identification Classifier</title>
    <link>https://community.wolfram.com/groups/-/m/t/1378856</link>
    <description>![enter image description here][1]&#xD;
&#xD;
#What is Spectroscopy?&#xD;
Each element in the universe has a unique signature given by a sequence of wavelengths or frequencies that can be represented by spectral lines. These lines are equivalent to the transition energy between atomic orbitals; that is, the energy an electron needs to emit or absorb to move to different energy levels. &#xD;
&#xD;
###Why is this relevant?&#xD;
These unique signatures can tell us a lot about the properties of an element. But perhaps a more interesting application of spectroscopy is the fact that it can tell us about the chemical composition of a light source by matching the lines in its spectrum to the lines of known elements. This applies to spectra of stars, galaxies, planets, atmospheres and more, and it can be especially useful for remote sensing, astrophysics, and planetary sciences. &#xD;
&#xD;
#Spectral Analysis with Machine Learning&#xD;
The basic idea of spectral analysis is to take the spectrum of the light source we are interested in studying and matching it with known elements. This can be easily done with an algorithm that runs the spectrum through every possible signature and combination. Sounds simple enough. However, we have 118 elements, each with different levels of ionization, and an extremely big number of possible combinations. This means the identification process using an algorithm is slow. The machine learning approach to the problem makes it much simpler and gives you a match almost instantly. &#xD;
&#xD;
###How to choose the appropriate data set&#xD;
The goal of this project was to create a spectral analysis tool in Wolfram Language and be as broad as possible without losing accuracy due to unnecessary data. Only 90 out of 118 chemical elements occur naturally in the universe. The abundance of elements in the universe also serves as a guideline for the expected common combinations and compounds. Hydrogen is the most abundant element and makes up 75% of the universe, followed by 23% of Helium, 1% of Oxygen, and 0.5% of Carbon. &#xD;
&#xD;
#The Process&#xD;
###Part 1&#xD;
The first step is to generate enough spectra using the wavelength data available through the built-in function SpectralLineData. Random noise is generated and added to each line value. The added noise is two orders of magnitude bigger than the precision in the original data, which should be enough to account for quantum broadening of the lines and other general measurement uncertainty. Thread is used to associate the wavelengths to the corresponding element. The process should be repeated at least 100 times for each element and ion. Once that data is produced and saved, the tables of spectra with random noise can be combined to form compounds. &#xD;
&#xD;
The complete data set is created by joining all element, ion, and compound tables. &#xD;
The data set is then used to train Classify. The classifier function is called *elementClassify*. The total number of classes for the wavelength data is 151. The function takes 1min 28s to train and the accuracy is 86.2% when using the NearestNeighbors method. The following methods are also tested: DecisionTree, GradientBoostedTrees, LogisticRegression, Markov, NaiveBayes, NeuralNetwork, RandomForest, and SupportVectorMachine. Most of them exhibit slightly lower accuracy than NearestNeighbors, but still show above 84% success. NeuralNetwork and SupportVectorMachine both perform poorly, exhibiting less than 4% accuracy. &#xD;
&#xD;
**The code is shown below.**&#xD;
&#xD;
    (* linedata generates spectral lines for element &amp;#034;elem&amp;#034; and ionization level &amp;#034;ion&amp;#034; *)&#xD;
    &#xD;
    linedata[elem_, ion_] := &#xD;
      Part[{lines = &#xD;
          SpectralLineData[&#xD;
           EntityClass[&#xD;
            &amp;#034;AtomicLine&amp;#034;, {elem, ion}], {Quantity[300.000, &amp;#034;Nanometers&amp;#034;], &#xD;
            Quantity[800.000, &amp;#034;Nanometers&amp;#034;]}];, &#xD;
        wavelength = &#xD;
         QuantityMagnitude[SpectralLineData[lines, &amp;#034;Wavelength&amp;#034;], &#xD;
          &amp;#034;Nanometers&amp;#034;]}, 2];&#xD;
    &#xD;
    (* iongenerate generates &amp;#034;n&amp;#034; (numerical) spectra with random noise of element &amp;#034;elem&amp;#034; and ionization level &amp;#034;ion&amp;#034; and matches them &#xD;
    with the corresponding element *)&#xD;
    &#xD;
    iongenerate[elem_, ion_, n_] := &#xD;
      Thread[Table[linedata[elem, ion] + RandomReal[0.1], n] -&amp;gt; &#xD;
        elem &amp;lt;&amp;gt; &amp;#034; &amp;#034; &amp;lt;&amp;gt; RomanNumeral[ion]];&#xD;
    &#xD;
    (* here, elem1 and elem2 are tables of two different elements made using iongenerate, mixgenerate takes the two tables and creates&#xD;
    a compound *)&#xD;
    &#xD;
    mixgenerate[elem1_, elem2_] := &#xD;
      Part[{wdata = &#xD;
          Table[Flatten[Join[{elem1[[i, 1]], elem2[[i, 1]]}]], {i, 1, &#xD;
            100}];,&#xD;
        ldata = &#xD;
          Flatten[&#xD;
           Table[{elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;-&amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]]}, {i, 1, 100}]];, &#xD;
        compounds = Thread[wdata -&amp;gt; ldata]}, 3];&#xD;
&#xD;
###Part 2&#xD;
Once the wavelength classifier function is trained, the next step is to train a classifier on the images of the spectra. Data is again generated using SpectralLineData and random noise is added to the lines. Thread is used for the element associations. &#xD;
Again, compounds can be generated by combining tables of pure elements. The complete data set is created by joining all element, ion, and compound tables. The data is saved and used to train the classifier function on the images. The classifier function is called *spectrumClassify*The total number of classes is 140. The function takes 9min 41s to train and the accuracy is 97.2% when using the LogisticRegression method. No other methods are tested due to time constraints.&#xD;
&#xD;
**The code is shown below**&#xD;
&#xD;
    (* spectrumgenerate generates &amp;#034;n&amp;#034; (visual) spectra with random noise of element &amp;#034;elem&amp;#034; and ionization level &amp;#034;ion&amp;#034; and matches them&#xD;
    with the corresponding element *)&#xD;
    &#xD;
    spectrumgenerate[elem_, ion_, n_] := &#xD;
      Thread[Table[&#xD;
         Part[{lines = &#xD;
             SpectralLineData[&#xD;
              EntityClass[&#xD;
               &amp;#034;AtomicLine&amp;#034;, {elem, ion}], {Quantity[300.000, &#xD;
                &amp;#034;Nanometers&amp;#034;], Quantity[800.000, &amp;#034;Nanometers&amp;#034;]}];, &#xD;
           wavelength = &#xD;
             QuantityMagnitude[SpectralLineData[lines, &amp;#034;Wavelength&amp;#034;], &#xD;
               &amp;#034;Nanometers&amp;#034;] + RandomReal[0.1];, &#xD;
           Graphics[{ColorData[&amp;#034;VisibleSpectrum&amp;#034;][#], &#xD;
               Line[{{#, 0}, {#, 1}}]} &amp;amp; /@ wavelength, &#xD;
            AspectRatio -&amp;gt; 1/6.5, Background -&amp;gt; Black]}, 3], n] -&amp;gt; &#xD;
        elem &amp;lt;&amp;gt; &amp;#034; &amp;#034; &amp;lt;&amp;gt; RomanNumeral[ion]];&#xD;
    &#xD;
    (* here, elem1, elem2, etc. are tables of different elements generated using spectrumgenerate, spmix takes these tables and&#xD;
    creates compounds of up to 8 elements. This can be increased by adding more arguments to the function *)&#xD;
    &#xD;
    spmix[elem1_, elem2_] := &#xD;
      Thread[Show[elem1[[1, 1]], elem2[[1, 1]]] -&amp;gt; &#xD;
        elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]]];&#xD;
    spmix[elem1_, elem2_, elem3_] := &#xD;
      Thread[Show[elem1[[1, 1]], elem2[[1, 1]], elem3[[1, 1]]] -&amp;gt; &#xD;
        elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem3[[1, 2]]];&#xD;
    spmix[elem1_, elem2_, elem3_, elem4_] := &#xD;
      Thread[Show[elem1[[1, 1]], elem2[[1, 1]], elem3[[1, 1]], &#xD;
         elem4[[1, 1]]] -&amp;gt; &#xD;
        elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem3[[1, 2]] &amp;lt;&amp;gt;&#xD;
          &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem4[[1, 2]]];&#xD;
    spmix[elem1_, elem2_, elem3_, elem4_, elem5_] := &#xD;
      Thread[Show[elem1[[1, 1]], elem2[[1, 1]], elem3[[1, 1]], &#xD;
         elem4[[1, 1]], elem5[[1, 1]]] -&amp;gt; &#xD;
        elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem3[[1, 2]] &amp;lt;&amp;gt;&#xD;
          &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem4[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem5[[1, 2]]];&#xD;
    spmix[elem1_, elem2_, elem3_, elem4_, elem5_, elem6_] := &#xD;
      Thread[Show[elem1[[1, 1]], elem2[[1, 1]], elem3[[1, 1]], &#xD;
         elem4[[1, 1]], elem5[[1, 1]], elem6[[1, 1]]] -&amp;gt; &#xD;
        elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem3[[1, 2]] &amp;lt;&amp;gt;&#xD;
          &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem4[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem5[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; &#xD;
         elem6[[1, 2]]];&#xD;
    spmix[elem1_, elem2_, elem3_, elem4_, elem5_, elem6_, elem7_] := &#xD;
      Thread[Show[elem1[[1, 1]], elem2[[1, 1]], elem3[[1, 1]], &#xD;
         elem4[[1, 1]], elem5[[1, 1]], elem6[[1, 1]], elem7[[1, 1]]] -&amp;gt; &#xD;
        elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem3[[1, 2]] &amp;lt;&amp;gt;&#xD;
          &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem4[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem5[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; &#xD;
         elem6[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem7[[1, 2]]];&#xD;
    spmix[elem1_, elem2_, elem3_, elem4_, elem5_, elem6_, elem7_, &#xD;
       elem8_] := &#xD;
      Thread[Show[elem1[[1, 1]], elem2[[1, 1]], elem3[[1, 1]], &#xD;
         elem4[[1, 1]], elem5[[1, 1]], elem6[[1, 1]], elem7[[1, 1]], &#xD;
         elem8[[1, 1]]] -&amp;gt; &#xD;
        elem1[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem2[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem3[[1, 2]] &amp;lt;&amp;gt;&#xD;
          &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem4[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem5[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; &#xD;
         elem6[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem7[[1, 2]] &amp;lt;&amp;gt; &amp;#034;, &amp;#034; &amp;lt;&amp;gt; elem8[[1, 2]]];&#xD;
&#xD;
Finally, an identification function is created to accept both numerical sequences and images as the input and runs it through the appropriate classifier function. The output is the chemical composition of the input. &#xD;
&#xD;
**The code is shown below**&#xD;
&#xD;
    (* spectrumIdentify tests if the input is a list. If yes, it uses elementClassify to identify the composition. If not, it uses&#xD;
    spectrumClassify. Give &amp;#034;max&amp;#034; to get top probabilities *)&#xD;
    &#xD;
    spectrumIdentify[input_, max_] := &#xD;
     If[ListQ[input], elementClassify[input, &amp;#034;TopProbabilities&amp;#034; -&amp;gt; max], &#xD;
      spectrumClassify[input, &amp;#034;TopProbabilities&amp;#034; -&amp;gt; max]]&#xD;
&#xD;
&#xD;
##The Learning Curve of Different Methods&#xD;
![enter image description here][2]&#xD;
&#xD;
##Confusion Matrix&#xD;
![enter image description here][3]&#xD;
&#xD;
#Neural Network for Spectral Classification&#xD;
Neural networks can give a slightly better accuracy than LogisticRegression for the spectral images if trained for long enough. The results can be seen below.&#xD;
&#xD;
![enter image description here][4]&#xD;
![enter image description here][5]&#xD;
&#xD;
#Conclusion and Future Work&#xD;
The classifier trained on images performs much better than the classifier trained on the numerical sequence of wavelengths. But either way, using machine learning for spectral analysis is much more efficient than other methods that are currently being used, such as compressed sensing, because it is relatively easy to train a function on spectral data, the accuracy is good, and it is way faster to test a sample and to find a match than it would be to run an algorithm through all of the possibilities.&#xD;
&#xD;
In the future, the classifier function can be expanded to support more ions and combinations, and accuracy can be improved by training Classify on more data samples. The Process section of this post offers a step-by-step of how to create the spectrum classifier function, and can be reproduced to generate more data, add it to the existent data and retrain the classifier. The classifier is trained on highly accurate and detailed data, so it does not work very well with lower definition spectra. This can be improved by adding lower definition data to the classifier. It can also be expanded to account for Doppler shifting, which is very useful for investigating the motion of light sources and has several astrophysical and cosmological applications. Image manipulation can also be implemented to expand the classifier&amp;#039;s ability to determine the chemical composition from absorption spectra and perhaps have an option to identify if the input is an emission spectrum or an absorption spectrum.&#xD;
&#xD;
#References&#xD;
Condon, E. U., &amp;amp; Shortley, G. (1999). The theory of atomic spectra. New York: Cambridge University Press.&#xD;
&#xD;
Ralchenko, Y., et al. &amp;#034;NIST Atomic Spectra Database (Version 4.0.1).&amp;#034; National Institute of Standards and Technology&#xD;
&#xD;
Sobel?man, I. I. (1996). Atomic spectra and radiative transitions. Berlin: Springer.&#xD;
&#xD;
https://www.nist.gov/pml/atomic-spectra-database&#xD;
&#xD;
&#xD;
  [1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2018-07-11at5.31.38PM.png&amp;amp;userId=1362690&#xD;
  [2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2018-07-11at2.59.50PM.png&amp;amp;userId=1362690&#xD;
  [3]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2018-07-11at3.18.58PM.png&amp;amp;userId=1362690&#xD;
  [4]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2018-07-12at1.16.02PM.png&amp;amp;userId=1362690&#xD;
  [5]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2018-07-12at1.16.48PM.png&amp;amp;userId=1362690</description>
    <dc:creator>Andreia Ribeiro de Noronha Sales</dc:creator>
    <dc:date>2018-07-11T18:21:45Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/609294">
    <title>Simulation of the precession of Mercury</title>
    <link>https://community.wolfram.com/groups/-/m/t/609294</link>
    <description>I once got a task from a professor when I was a graduate student to try and reproduce a figure in a book as best I could. Specifically, I had to reproduce the orbit of Mercury around the Sun. Simulating the orbit of Mercury was straight forward, but the difficult part was getting the solid lines emanating from the Sun (the origin) to the points farthest away as to show the precession of the orientation of the orbit. After asking around, I eventually got it to work and came pretty close to the figure in the book. Attached is the program. In the program I call it &amp;#034;perihelion.&amp;#034; But in hindsight, I probably should&amp;#039;ve called it &amp;#034;aphelion.&amp;#034;</description>
    <dc:creator>sean roubion</dc:creator>
    <dc:date>2015-11-10T17:20:15Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2576537">
    <title>Mathematical Proof of Light Propagation and Gravitational Redshift via the LIFE Framework</title>
    <link>https://community.wolfram.com/groups/-/m/t/2576537</link>
    <description>Author: Wim Vegt, Physicist &amp;amp; Researcher (Ret.), Eindhoven University of Technology&#xD;
&#xD;
Introduction: The Empirical Gap in General Relativity&#xD;
&#xD;
Historically, the validation of General Relativity (GR) has relied heavily on the 1919 solar eclipse observations. However, that historical outcome was largely matched by introducing arbitrary universal constants to fit the data. A truly rigorous, isolated test of GR only became possible recently with the highly eccentric Galileo Satellites, which allowed for the measurement of a precisely controlled MASER signal from space to a ground station.&#xD;
&#xD;
When subjected to this strict empirical test, classical GR reveals a fundamental mathematical limitation: Gravitational Redshift is not an intrinsic, direct solution of the Einstein Field Equations. To describe the interaction between gravity and light accurately, the inertia (effective mass) of light must be inherently coupled within the fundamental electromagnetic field equations.&#xD;
&#xD;
**The Limitation of Maxwell&amp;#039;s Equations**&#xD;
&#xD;
Classical electrodynamics, governed by Maxwell’s equations, completely lacks an inertia term for light. Because Maxwell&amp;#039;s equations cannot describe the mechanical inertia of an electromagnetic field, they cannot natively compute how that field interacts with a gravitational gradient. To solve this, we must develop a more complete electromagnetic equation built upon a more fundamental bedrock of physics.&#xD;
&#xD;
**The LIFE Framework: 4-Dimensional Universal Equilibrium**&#xD;
&#xD;
To resolve this without introducing arbitrary universal constants, this notebook utilizes the Localized Intrinsic Field Equilibrium (LIFE) framework. The LIFE framework returns to the absolute foundation of classical physics: Isaac Newton’s Third Law (The Law of Equilibrium).&#xD;
By extending Newton’s principle of macroscopic spatial equilibrium into a rigorous 4-dimensional continuous spacetime framework, the LIFE theory balances electromagnetic force densities, spatial inertia, and gravitational fields simultaneously in strict [N/m^3] terms.&#xD;
&#xD;
**What This Notebook Demonstrates:**&#xD;
&#xD;
In the LIFE framework, there is no need to introduce an arbitrary universal constant to force the math to match reality. Instead, the calculations in this notebook prove that the phenomena described by General Relativity&amp;#x2014;specifically the accurate propagation of light and Gravitational Redshift within a gravitational field&amp;#x2014;emerge naturally as exact, direct solutions of the LIFE field equations.&#xD;
I invite the Wolfram Community to run these calculations, examine the integration of the electromagnetic inertia term, and explore how a strict return to 4-dimensional force-density equilibrium perfectly models the Galileo satellite MASER data where classical equations fall short.&#xD;
&#xD;
**References:**&#xD;
&#xD;
[1] Vegt, W; A Continuous Model of Matter Based on AEONs; Physics Essays volume 8, number 2, 1995; https://zenodo.org/records/19001551; https://research.tue.nl/en/publications/a-continuous-model-of-matter-based-on-aeons/&#xD;
&#xD;
[2] Vegt W; The Origin of Gravity; Research &amp;amp; Reviews: Journal of Pure and Applied Physics; https://www.rroij.com/peer-reviewed/the-origin-of-gravity-91966.html ; https://www.rroij.com/peer-reviewed/the-origin-of-gravity-91966.html; https://zenodo.org/records/19002089&#xD;
&#xD;
[3] Vegt W; Enhancing Precision in Electromagnetic Force Density Modulation Using LASER Control; Journal of Laser Applications; AIP publishing; DOI: https://doi.org/10.2351/7.0001636; https://zenodo.org/records/19009836&#xD;
&#xD;
[4] Vegt W; Achieving Ultra High Resolution Lithography via Intrinsic Equilibrium and Electron Driven Spin Resonance; https://zenodo.org/records/19020344&#xD;
&#xD;
[5] Vegt W; A Unified Force Density Framework for Plasma Confinement: Integrating Navier-Stokes with Local Interaction Field Equilibrium (LIFE); https://zenodo.org/records/19067591&#xD;
&#xD;
[6] Vegt W; Macroscopic Force-Density Equilibrium: A Deterministic Bridge Between General Relativity and Quantum Mechanics; https://zenodo.org/records/20189659&#xD;
&#xD;
**Calculations in Mathematica demonstrating the Local Intrinsic Field Equilibrium (LIFE) framework**&#xD;
&#xD;
[7] Vegt W; Mathematical Proof of Arbitrary Wave Propagation and Field Equilibrium using the LIFE Framework; https://community.wolfram.com/groups/-/m/t/2576692?p_p_auth=6wOlNOpR&#xD;
&#xD;
[8] Vegt W; Mathematical Proof of Light Propagation and Gravitational Redshift via the LIFE Framework; https://community.wolfram.com/groups/-/m/t/2576537?p_p_auth=gVJYf1N4&#xD;
&#xD;
[9] Vegt W; Exact Mathematical Solutions for Toroidal Confinement of MASER Radiation in Tokamaks https://community.wolfram.com/groups/-/m/t/3115543?p_p_auth=8VRRtDct&#xD;
&#xD;
[10] Vegt W; Mathematical Proof of &amp;#034;Slow Light&amp;#034; in Silicon Crystals via Lattice Resonance and the LIFE Framework https://community.wolfram.com/groups/-/m/t/3571371?p_p_auth=Yid6Zlnp&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][1]&#xD;
&#xD;
&#xD;
  [1]: https://www.wolframcloud.com/obj/f73868b3-7653-44a3-87ba-afab7409b925</description>
    <dc:creator>Wim Vegt</dc:creator>
    <dc:date>2022-07-20T09:42:13Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1572831">
    <title>How close is &amp;#034;Christmas Comet&amp;#034; 46P/Wirtanen?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1572831</link>
    <description>Upon reading that 46P/Wirtanen will be closer to Earth than it has been (or will be) in centuries, despite having an orbital period of under 6 years, I was curious to see a picture of its orbital path superimposed&#xD;
with Earth&amp;#039;s. Here is a simple one-liner that shows the two orbits, and the current positions of the two bodies. The rarity of the event is now clear as a bell:&#xD;
&#xD;
    Graphics3D[{Entity[&amp;#034;Planet&amp;#034;, &amp;#034;Earth&amp;#034;][&#xD;
       EntityProperty[&amp;#034;Planet&amp;#034;, &amp;#034;OrbitPath&amp;#034;]], &#xD;
      Entity[&amp;#034;Comet&amp;#034;, &amp;#034;Comet46PWirtanen&amp;#034;][&#xD;
       EntityProperty[&amp;#034;Comet&amp;#034;, &amp;#034;OrbitPath&amp;#034;]],&#xD;
      {Darker[Green, .2], PointSize[Medium], &#xD;
       Point@QuantityMagnitude[&#xD;
         Entity[&amp;#034;Comet&amp;#034;, &amp;#034;Comet46PWirtanen&amp;#034;][&#xD;
          EntityProperty[&amp;#034;Comet&amp;#034;, &amp;#034;HelioCoordinates&amp;#034;]]]},&#xD;
      {Red, PointSize[Medium], &#xD;
       Point@QuantityMagnitude[&#xD;
         Entity[&amp;#034;Planet&amp;#034;, &amp;#034;Earth&amp;#034;][&#xD;
          EntityProperty[&amp;#034;Planet&amp;#034;, &amp;#034;HelioCoordinates&amp;#034;]]]}}, &#xD;
     Boxed -&amp;gt; False]&#xD;
&#xD;
It looks a bit nicer in the front end:&#xD;
&#xD;
![How close is 46P/Wirtanen?][1]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=ScreenShot2018-12-17at3.12.32PM.png&amp;amp;userId=69903</description>
    <dc:creator>Bruce Torrence</dc:creator>
    <dc:date>2018-12-17T20:16:50Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1575293">
    <title>Prediction of the course of a Astroid Pedal Curve based on neural network</title>
    <link>https://community.wolfram.com/groups/-/m/t/1575293</link>
    <description>**Astroid pedal curves** [Illustration given in WolframAlpha][1] are parametrized by 3 parameters a, x0 and y0.&#xD;
&#xD;
If one feeds a simple feedforward network with only the first part of such a curve (e.g. the first 50 points of say 100 points), the natural question arises: &#xD;
&#xD;
&amp;gt; Is it possible to predict the remaining part of the curve with sufficient accuracy?&#xD;
&#xD;
This can be understood as a *sequence-to-sequence prediction*.&#xD;
&#xD;
Here is an example how this looks like (**orange dots** are **first part of curve (input data)** and **blue dots** are the **second part (output of the net, curve points which should be predicted)**:&#xD;
&#xD;
![Example of Astroid Pedal curve][2]&#xD;
&#xD;
To answer the above question, 100 curves were randomly created for training of the net (training data) and 100 curves as test data. More accurately, the 4 parameters were randomly chosen (see below in source code). &#xD;
&#xD;
A simple feedforward network based on one linear layer (see details below) was trained and also validated by using 20% as validation set.&#xD;
&#xD;
 1. The net achieves excellent performance. &#xD;
&#xD;
Here are some examples: *orange (input points), blue (predicted points by the net) and green (points as generated by parameterization of this type of curve)*&#xD;
![enter image description here][3]&#xD;
&#xD;
 1. I wonder a bit how it is possible for the net to make such accurate predictions? I think the net &amp;#034;recognizes&amp;#034; that there are only 3 parameters necessary for predictions.  &#xD;
&#xD;
 2. I find it remarkable that the net can make such accurate predictions ***without knowing the underlying parameterization of the curve***.&#xD;
&#xD;
 3. here is the source code&#xD;
&#xD;
        (*Here is the parameterization of the Astroic Pedal Curve*)&#xD;
        &#xD;
        AstroidPedalCurve[&#xD;
          t_, {a_, x0_, y0_}] := {Cos[t] (Sin[t] (a Sin[t] - y0) + x0 Cos[t]),&#xD;
           Sin[t] (a Cos[2 t] + a - 2 x0 Cos[t] + 2 y0 Sin[t])/2}&#xD;
        &#xD;
        (*Illustration of the influence of parameters a, x0 and y0 *)&#xD;
        &#xD;
        Manipulate[&#xD;
         ParametricPlot[AstroidPedalCurve[t, {a, x0, y0}], {t, 0, 2 \[Pi]}, &#xD;
          PlotRange -&amp;gt; {{-250, 250}, {-250, 250}}], {a, -200, 200}, {x0, -20, &#xD;
          20}, {y0, -20, 20}]&#xD;
        &#xD;
        (*Definition of discrete curve points *)&#xD;
        CurvePoints[{a_, x0_, y0_}] := &#xD;
          Table[AstroidPedalCurve[t, {a, x0, y0}], {t, 0, 2 \[Pi], 0.063}];&#xD;
        &#xD;
        (*Definition of training and test data for the feedforward net *)&#xD;
        Clear[data];&#xD;
        data[k_] := &#xD;
          data[k] = &#xD;
           TakeDrop[&#xD;
            CurvePoints[{RandomInteger[{-100, 100}], RandomInteger[{-20, 20}],&#xD;
               RandomInteger[{-20, 20}]}], 50];&#xD;
        &#xD;
        trainingData = &amp;lt;|&amp;#034;input&amp;#034; -&amp;gt; Table[data[k][[1]], {k, 1, 100}], &#xD;
           &amp;#034;output&amp;#034; -&amp;gt; Table[data[k][[2]], {k, 1, 100}]|&amp;gt;;&#xD;
        Clear[independenttestData];&#xD;
        independenttestData = &amp;lt;|&amp;#034;input&amp;#034; -&amp;gt; Table[data[k][[1]], {k, 201, 300}],&#xD;
            &amp;#034;output&amp;#034; -&amp;gt; Table[data[k][[2]], {k, 201, 300}]|&amp;gt;;&#xD;
        &#xD;
        (*Definition and training of the feedforward net *)&#xD;
        chain = NetChain[{LinearLayer[{50, 2}, &amp;#034;Output&amp;#034; -&amp;gt; {50, 2}]}]&#xD;
        model = NetTrain[chain, &#xD;
          Thread[trainingData[[&amp;#034;input&amp;#034;]] -&amp;gt; trainingData[[&amp;#034;output&amp;#034;]]], &#xD;
          ValidationSet -&amp;gt; Scaled[0.2]]&#xD;
        &#xD;
        (*Illustration of predictions of the net *)&#xD;
        F[s_, data_] := &#xD;
         ListPlot[{data[&amp;#034;input&amp;#034;][[s]], data[&amp;#034;output&amp;#034;][[s]], &#xD;
           model[data[&amp;#034;input&amp;#034;][[s]]]}, PlotRange -&amp;gt; {{-70, 70}, {-70, 70}}, &#xD;
          PlotStyle -&amp;gt; {{PointSize[0.02], Orange}, {PointSize[0.02], &#xD;
             Darker[Green]}, Blue}]&#xD;
        &#xD;
        L[k_] := GraphicsGrid[{Table[&#xD;
            Graphics[F[s, independenttestData]], {s, k, k + 3}],&#xD;
           Table[Graphics[F[s, independenttestData]], {s, k + 4, k + 7}], &#xD;
           Table[Graphics[F[s, independenttestData]], {s, k + 8, k + 11}]}]&#xD;
        &#xD;
        L[1]&#xD;
&#xD;
 4. BTW, no advanced network layers (e.g. gated recurrent or longshort term layer) are necessary for this type of problem.&#xD;
&#xD;
 5. Have fun playing a bit :-) &#xD;
&#xD;
 6. Finally, I would like to ask the following question:&#xD;
&#xD;
&amp;gt;  How is it possible for the net to make so accurate predictions&#xD;
&amp;gt; without knowing the underlying&#xD;
&amp;gt;     parameterization?&#xD;
&#xD;
*Can you explain why? I do not really understand how this works...*&#xD;
&#xD;
with best regards&#xD;
&#xD;
Wolfgang&#xD;
&#xD;
&#xD;
  [1]: https://www.wolframalpha.com/input/?i=Astroid%20pedal%20curve&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=AstoidPedal.png&amp;amp;userId=1556395&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=AstroidPedalcurvesinputpointsandpredictedpoints.png&amp;amp;userId=1556395</description>
    <dc:creator>Wolfgang Hitzl</dc:creator>
    <dc:date>2018-12-20T12:52:34Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3174521">
    <title>Exploring the frontiers of computation: an explanation of Mathematica 14</title>
    <link>https://community.wolfram.com/groups/-/m/t/3174521</link>
    <description>In this post I hope to unveil new possibilities on a comprehensive review of Mathematica 14. What with the data that I&amp;#039;ve been discussing in my prior Wolfram Community post on Mathematica 13, I should make a post about Mathematica 14. Now, the data (World Cities Database | Simplemaps.com https://simplemaps.com/data/world-cities) is about important city data. The thing about Mathematica 14 is that it allows us to convert data into a structured association, which is similar to a dictionary by importing from a CSV file and then converting numeric data from strings into numbers. We can then prepare the data for analysis and visualization by organizing it into meaningful attributes like city ID, name, population, geographic coordinates, elevation, and yes there is geographical visualization, of population data. &#xD;
&#xD;
    cityData = &#xD;
      Import[&amp;#034;/Users/deangladish/Downloads/simplemaps_worldcities_basicv1.\&#xD;
    77/worldcities.csv&amp;#034;];&#xD;
    processedData = AssociationThread[&#xD;
         {&amp;#034;CityID&amp;#034;, &amp;#034;CountryAbbreviation&amp;#034;, &amp;#034;CityName&amp;#034;, &#xD;
          &amp;#034;PopulationThousands&amp;#034;, &amp;#034;LatitudeDegrees&amp;#034;, &amp;#034;LongitudeDegrees&amp;#034;, &#xD;
          &amp;#034;ElevationMeters&amp;#034;}, #] &amp;amp; /@&#xD;
       cityData[[2 ;;, {1, 5, 2, 10, 3, 4, 7}]];  &#xD;
    processedData = &#xD;
      processedData /. &#xD;
       s_String :&amp;gt; ToExpression[s] /; StringMatchQ[s, NumberString];&#xD;
    GeoGraphics[{&#xD;
      Table[{&#xD;
        ColorData[&amp;#034;Rainbow&amp;#034;][Log10[city[&amp;#034;PopulationThousands&amp;#034;]]],&#xD;
        Tooltip[&#xD;
         Disk[&#xD;
          GeoPosition[{city[&amp;#034;LatitudeDegrees&amp;#034;], city[&amp;#034;LongitudeDegrees&amp;#034;]}],&#xD;
          Quantity[0.1*Log10[city[&amp;#034;PopulationThousands&amp;#034;]], &amp;#034;Kilometers&amp;#034;]&#xD;
          ],&#xD;
         city[&amp;#034;CityName&amp;#034;]]},&#xD;
       {city, processedData}]},&#xD;
     GeoBackground -&amp;gt; &amp;#034;CountryBorders&amp;#034;,&#xD;
     ImageSize -&amp;gt; Large,&#xD;
     GeoProjection -&amp;gt; &amp;#034;Mercator&amp;#034;]&#xD;
&#xD;
![Mathematica 14 1][1]&#xD;
&#xD;
Typically when we make geographic maps that display cities we do it in plain English which means that we use English words and people have some idea of how we can stuff these maps in our brain to have some familiar language there. And that&amp;#039;s sort of what Mathematica 14 is for, I thought this update wasn&amp;#039;t going to come out for a long time; in a sense, the mathematical notation of the future is computational notation and that&amp;#039;s what we spend much of our Mathematica installations trying to build is a consistence of computational notation, in most cases English having that as the backstop. Even if there might be some /@ notation, that&amp;#039;s the thing that the experts do and now it&amp;#039;s triple @ sign, in the end we have @ Apply and you kind of know what that means. In `GeoGraphics` we can display cities as colored disks whose color intensity and size depends..on their population. The colors being derived from a logarithmic scale, we can effectively manage wide ranges of population. &#xD;
&#xD;
    cityData = &#xD;
      Import[&amp;#034;/Users/deangladish/Downloads/simplemaps_worldcities_basicv1.\&#xD;
    77/worldcities.csv&amp;#034;];&#xD;
    processedData = AssociationThread[&#xD;
         {&amp;#034;CityID&amp;#034;, &amp;#034;CountryAbbreviation&amp;#034;, &amp;#034;CityName&amp;#034;, &#xD;
          &amp;#034;PopulationThousands&amp;#034;, &amp;#034;LatitudeDegrees&amp;#034;, &amp;#034;LongitudeDegrees&amp;#034;, &#xD;
          &amp;#034;ElevationMeters&amp;#034;}, #] &amp;amp; /@&#xD;
       cityData[[2 ;;, {1, 5, 2, 10, 3, 4, 7}]];&#xD;
    processedData = &#xD;
      processedData /. &#xD;
       s_String :&amp;gt; &#xD;
        ToExpression[If[s == &amp;#034;&amp;#034;, &amp;#034;0&amp;#034;, s]] /; &#xD;
         StringMatchQ[s, NumberString | &amp;#034;&amp;#034;];&#xD;
    points = Table[With[{&#xD;
         popLog = Log[10, &#xD;
           Max[city[&amp;#034;PopulationThousands&amp;#034;], 1]&#xD;
           ]&#xD;
         },&#xD;
        {&#xD;
         RGBColor[ColorData[&amp;#034;Rainbow&amp;#034;][1 - popLog/7]],&#xD;
         PointSize[0.001 + 0.0001*popLog],&#xD;
         Tooltip[&#xD;
          Point[{city[&amp;#034;LongitudeDegrees&amp;#034;], city[&amp;#034;LatitudeDegrees&amp;#034;]}], &#xD;
          city[&amp;#034;CityName&amp;#034;]]&#xD;
         }],&#xD;
       {city, processedData}];&#xD;
    Graphics[points,&#xD;
     Axes -&amp;gt; True, Frame -&amp;gt; True,&#xD;
     AxesLabel -&amp;gt; {&amp;#034;Longitude (°)&amp;#034;, &amp;#034;Latitude (°)&amp;#034;},&#xD;
     PlotLabel -&amp;gt; &amp;#034;World Cities by Population&amp;#034;,&#xD;
     PlotRange -&amp;gt; {{-180, 180}, {-90, 90}},&#xD;
     ImageSize -&amp;gt; Large,&#xD;
     FrameLabel -&amp;gt; {None, None, &amp;#034;World Cities Visualization&amp;#034;, None}, &#xD;
     Background -&amp;gt; Lighter[RGBColor[95/255, 4/255, 85/255], 0.9]]&#xD;
&#xD;
![Mathematica 14 2][2]&#xD;
&#xD;
The map includes tooltips with city names and uses the projection Mercator, and that is how we get the context of geographical - we display the borders of the countries. What matters, and what doesn&amp;#039;t? In Physics you can say I&amp;#039;m throwing an object off the Tower of Pisa or something and does it matter, the spikes or the edges? It&amp;#039;s just the mass, air resistance in that case there wouldn&amp;#039;t be a vacuum or so on. The thing we&amp;#039;ve learnt is that less matters than we might have thought. Because if we could handle missing data and include custom visualization via our Mathematica 14 segments which adapt the processed city data to replace missing population figures (&amp;#034;&amp;#034;) with zeros, which gives us the stability that we need in logarithmic calculations..we can visualize the data in a scatter plot that is non-geographical. But it can also be geographical, it&amp;#039;s not my personal preference to do that but we can, and we can use point size and color to represent population logs. And the graphical adjustments that we make, we highlight the distribution of the data..across global latitudes and longitudes, which offers a clear visual summary of worldwide urban centers.&#xD;
&#xD;
    rawData = {&amp;#034;0001,US,New York,8230,40.7128,-74.0060,10&amp;#034;, &#xD;
       &amp;#034;0002,GB,London,8982,51.5074,-0.1278,11&amp;#034;, &#xD;
       &amp;#034;0003,JP,Tokyo,13929,35.6895,139.6917,40&amp;#034;, &#xD;
       &amp;#034;0004,FR,Paris,2148,48.8566,2.3522,35&amp;#034;, &#xD;
       &amp;#034;0005,CA,Toronto,2731,43.6510,-79.3470,76&amp;#034;, &#xD;
       &amp;#034;0006,AU,Sydney,5312,33.8688,151.2093,58&amp;#034;, &#xD;
       &amp;#034;0007,BR,Rio de Janeiro,6748,22.9068,-43.1729,2&amp;#034;, &#xD;
       &amp;#034;0008,ZA,Cape Town,4337,33.9249,18.4241,42&amp;#034;, &#xD;
       &amp;#034;0009,IN,Mumbai,12478,19.0760,72.8777,14&amp;#034;, &#xD;
       &amp;#034;0010,CN,Shanghai,24150,31.2304,121.4737,4&amp;#034;, &#xD;
       &amp;#034;0011,EG,Cairo,9500,30.0444,31.2357,23&amp;#034;, &#xD;
       &amp;#034;0012,RU,Moscow,12500,55.7558,37.6173,156&amp;#034;, &#xD;
       &amp;#034;0013,DE,Berlin,3645,52.5200,13.4050,34&amp;#034;, &#xD;
       &amp;#034;0014,MX,Mexico City,8910,19.4326,-99.1332,2250&amp;#034;, &#xD;
       &amp;#034;0015,IT,Rome,2873,41.9028,12.4964,21&amp;#034;, &#xD;
       &amp;#034;0016,ES,Madrid,6642,40.4168,-3.7038,667&amp;#034;, &#xD;
       &amp;#034;0017,TR,Istanbul,15462,41.0082,28.9784,39&amp;#034;, &#xD;
       &amp;#034;0018,KR,Seoul,9776,37.5665,126.9780,38&amp;#034;, &#xD;
       &amp;#034;0019,AR,Buenos Aires,2890,34.6037,-58.3816,25&amp;#034;, &#xD;
       &amp;#034;0020,NG,Lagos,13900,6.5244,3.3792,11&amp;#034;,&#xD;
       &amp;#034;0021,US,Chicago,2715,41.8781,-87.6298,181&amp;#034;, &#xD;
       &amp;#034;0022,US,Los Angeles,3990,34.0522,-118.2437,89&amp;#034;, &#xD;
       &amp;#034;0023,CA,Vancouver,631,49.2827,-123.1207,70&amp;#034;, &#xD;
       &amp;#034;0024,BR,São Paulo,12300,23.5505,-46.6333,760&amp;#034;, &#xD;
       &amp;#034;0025,IN,Delhi,16700,28.7041,77.1025,216&amp;#034;, &#xD;
       &amp;#034;0026,JP,Osaka,8823,34.6937,135.5023,12&amp;#034;, &#xD;
       &amp;#034;0027,IT,Milan,3200,45.4642,9.1900,120&amp;#034;, &#xD;
       &amp;#034;0028,FR,Marseille,861,43.2965,5.3698,12&amp;#034;, &#xD;
       &amp;#034;0029,ES,Barcelona,5512,41.3851,2.1734,12&amp;#034;, &#xD;
       &amp;#034;0030,EG,Alexandria,5018,31.2156,29.9553,5&amp;#034;};&#xD;
    cityIdentifierCorrections = {888 -&amp;gt; 887, 3208 -&amp;gt; 3210, 5478 -&amp;gt; 5477, &#xD;
       8559 -&amp;gt; 8558};&#xD;
    processedData = (&#xD;
         &amp;lt;|&amp;#034;CityID&amp;#034; -&amp;gt; ToExpression[#[[1]]],&#xD;
          &amp;#034;CountryAbbreviation&amp;#034; -&amp;gt; #[[2]],&#xD;
          &amp;#034;CityName&amp;#034; -&amp;gt; #[[3]],&#xD;
          &amp;#034;PopulationThousands&amp;#034; -&amp;gt; ToExpression[#[[4]]],&#xD;
          &amp;#034;LatitudeDegrees&amp;#034; -&amp;gt; ToExpression[#[[5]]],&#xD;
          &amp;#034;LongitudeDegrees&amp;#034; -&amp;gt; ToExpression[#[[6]]],&#xD;
          &amp;#034;ElevationMeters&amp;#034; -&amp;gt; ToExpression[#[[7]]],&#xD;
          &amp;#034;CityIdentifier&amp;#034; -&amp;gt; (ToExpression[#[[1]]] /. &#xD;
             cityIdentifierCorrections)|&amp;gt;&#xD;
         ) &amp;amp; /@ (StringSplit[#, &amp;#034;,&amp;#034;] &amp;amp; /@ rawData);&#xD;
    Dataset[processedData]&#xD;
    minElevation = Min[processedData[[All, &amp;#034;ElevationMeters&amp;#034;]]];&#xD;
    maxElevation = Max[processedData[[All, &amp;#034;ElevationMeters&amp;#034;]]];&#xD;
    Graphics[{&#xD;
      Table[&#xD;
       {&#xD;
        ColorData[&#xD;
          &amp;#034;Rainbow&amp;#034;][(city[&amp;#034;ElevationMeters&amp;#034;] - &#xD;
            minElevation)/(maxElevation - minElevation)],&#xD;
        Disk[{city[&amp;#034;LongitudeDegrees&amp;#034;], city[&amp;#034;LatitudeDegrees&amp;#034;]}, &#xD;
         0.01*Sqrt[city[&amp;#034;PopulationThousands&amp;#034;]]],&#xD;
        Black, &#xD;
        Text[city[&amp;#034;CityName&amp;#034;], {city[&amp;#034;LongitudeDegrees&amp;#034;], &#xD;
          city[&amp;#034;LatitudeDegrees&amp;#034;]}, {0, -2}]&#xD;
        },&#xD;
       {city, processedData}&#xD;
       ]&#xD;
      }, Frame -&amp;gt; True, Axes -&amp;gt; True,&#xD;
     AxesLabel -&amp;gt; {&amp;#034;Longitude (°)&amp;#034;, &amp;#034;Latitude (°)&amp;#034;},&#xD;
     PlotLabel -&amp;gt; &amp;#034;Visualization of City Elevations and Populations&amp;#034;,&#xD;
     ImageSize -&amp;gt; Large]&#xD;
&#xD;
![Rewrites 2][3]&#xD;
&#xD;
![Rewrites 3][4]&#xD;
&#xD;
What about data processing for city attributes? If we could simulate or analyze the lifecycle of manually entered raw data for cities, correcting specific city identifiers using a predefined map of corrections, by basic optics experiments we could convert this data into structured forms suitable for a framework for designing and interpreting future analysis and visualization experiments, but Mathematica 14 simulates this process, broadening the application scope to include new computational fields like hyperelastic material modeling and electrostatic systems. Updates also extend to audio and video processing, reflecting Wolfram Language&amp;#039;s adaptation to multimedia data handling. I&amp;#039;ve used Mathematica and it&amp;#039;s full of interactive and informative content. Wolfram tools are designed with the best and brightest in talent which practically demonstrates how these technologies can be applied in real-world scenarios. For instance, if you were in Texas during the eclipse you would have thought it was the crack of dawn. But when we include interactive elements we can computationalize the progression of sunspot images over time and the creation of videos from these images which is particularly engaging, and that&amp;#039;s why the only complex astronomical phenomenon is the astronomical phenomena that is understandable and accessible, accessibility is the utilization, of the combination of live solar images and historical data to draw comparisons between the current solar activity and significant events historically, like the stories of comparisons drawn between that and the Carrington Event of 1859. And with Mathematica 14 we can actually steer our exploration of the Ruliad. And I used to use Mathematica&amp;#039;s earlier versions but now I can&amp;#039;t, I&amp;#039;ve paid much more attention to the things of the past than the things of the current. But now we can finally answer those questions of how easy is it to compute a particular quantum function, what functions are hard to compute..if we follow that path well enough it would give us information about things we humans find easy, things we humans do not find easy, and it&amp;#039;s a reasonable question. What functions are easy to compute for neural nets, what are not? &#xD;
&#xD;
    latitudeRange = Range[-90, 90, 10];&#xD;
    longitudeRange = Range[-180, 180, 10];&#xD;
    points = &#xD;
      Flatten[Table[&#xD;
        GeoPosition[{lat, lon}], {lat, latitudeRange}, {lon, &#xD;
         longitudeRange}], 1];&#xD;
    elevations = GeoElevationData /@ points;&#xD;
    minElev = Min[elevations];&#xD;
    maxElev = Max[elevations];&#xD;
    normalizedElevations = Rescale[elevations, {minElev, maxElev}];&#xD;
    colors = ColorData[&amp;#034;Rainbow&amp;#034;] /@ normalizedElevations;&#xD;
    pointColorPairs = Thread[points -&amp;gt; colors];&#xD;
    GeoGraphics[{PointSize[0.01], {#[[2]], Point[#[[1]]]} &amp;amp; /@ &#xD;
       Thread[{points, colors}]}, GeoProjection -&amp;gt; &amp;#034;Robinson&amp;#034;, &#xD;
     PlotLabel -&amp;gt; &amp;#034;Global Elevation Map&amp;#034;, ImageSize -&amp;gt; Large, &#xD;
     GeoBackground -&amp;gt; None]&#xD;
&#xD;
![Rewrites 5][5]&#xD;
&#xD;
And these solar images showcase Mathematica&amp;#039;s robust capabilities in data manipulation, visualization, and geographical mapping, reflecting on the Mathematica 14 and what we did..let&amp;#039;s take all those point weights and let&amp;#039;s increase the values. Multiply them by 1.1, 1.2 whatever. The neural net keeps on getting adjusted and you do it differently, inflate the neural net weights. And what you see is the sun looks pretty good, look up in the writing that I did about this you know the 1.01 is looking pretty sun-like, by 1.05 the sun is starting to have bizarre solar flares sticking out of its head and so on, and by 1.07 the sun is kind of exploding there isn&amp;#039;t a sun to be seen anymore. Given that exploded amped up network could one take that network and continue training it? My guess is yes. That training will just &amp;#034;revert&amp;#034; to what it learned before if it&amp;#039;s the same training data. If it&amp;#039;s a question of fine tuning I don&amp;#039;t know the answer to that question. Generating diagrams that represent the evolution of these states and highlighting the increase in complexity and symmetry as the interaction progresses, after the completion phase, means that entanglement enters a propagation phase where the entangled states maintain their connection over distances.&#xD;
&#xD;
    currentSolarImage = &#xD;
     ResourceFunction[&amp;#034;SolarImage&amp;#034;][&#xD;
      DateObject[{2024, 5, 9, 0, 0, 0}, TimeZone -&amp;gt; 0], &#xD;
      &amp;#034;ImageSize&amp;#034; -&amp;gt; 1200]&#xD;
&#xD;
![Rewrites 7][6]&#xD;
&#xD;
It can only do the things it was reflexively programmed to do or you could sign up for the future of computation, computational irreducibility. You&amp;#039;re not going to be able to predict what will happen, when the expansion of the entangled network, as indicated by the simulation&amp;#039;s generation of diagrams with increasing loops, representing the sustained entanglement. And that&amp;#039;s why the sustained entanglement, lifecycle concludes in a phase where the entanglement either collapses, leading to a disentanglement of the quantum states, or transfers, where the entanglement is shifted onto other particles or states. And now we can actually visualize this entanglement via the graphics, geometry, and high-dimensional visualization of Mathematica 14.0 which introduces high-fidelity geometric regions, improving compatibility with CAD systems and enhancing graphical representation capabilities. What if you had some Computer Algebra System and you wanted to offer new tools for high-dimensional data visualization, aiding in more effective analysis and presentation of complex datasets? And that&amp;#039;s why the Mathematica IDE has this tiny little support feature that guides us to the external services and improved import/export capabilities, so that we can integrate external services and boost the efficiency of importing and exporting data in various formats, facilitating better workflow integration and data management. Who knew that we could do all that because the world as we have built it, is built for us humans. Now, the natural world wasn&amp;#039;t built for us humans although biological evolution has made us adapt to those niches, once we start colonizing Mars we&amp;#039;re out of what we ever evolved to be in so to speak. Even the dynamic and reversible nature of quantum entanglement challenges the traditional notion of a wave function collapse as a singular, irreversible event. They&amp;#039;re going to be able to walk up the steps, they&amp;#039;re going to be able to open the door. So when you see the Wigner&amp;#039;s Friends experiment, just simulated rolling around we can automate that, we can speed that up. And yes, it can have its own mop and the house was built so that it was freezing cold, shivering when the person who will be your Uber driver for the carriage or something like this, except I don&amp;#039;t think this whole infrastructure for feeding the horses, using airships it&amp;#039;s going to take a long time to go across the Atlantic, politically.&#xD;
&#xD;
    processedImage = ImageAdjust[currentSolarImage]&#xD;
    edgesImage = EdgeDetect[processedImage]&#xD;
&#xD;
![Rewrites 8][7]&#xD;
&#xD;
![Rewrites 9][8]&#xD;
&#xD;
And in the Ruliad, if you hadn&amp;#039;t had geometry and deduction as sort of a backdrop to some of the things that we were talking about within the arc of philosophical development and the continued discussion, and I will not continue..unless you never wanted to see the most active sunspot group again, of this solar cycle as it relates we would have had different things to talk about. Like how we can use Wolfram tools to practically demonstrate how these image composite and color replacement functions provide a commendable dive into the solar physics and now, we&amp;#039;ve got to process the parallels that we have processed, we&amp;#039;ve got to illustrate the capabilities of Mathematica-related phenomena whether it&amp;#039;s encapsulating our awareness of space weather within a stellar 3d box like the AstroGraphics library, or just exploring the trajectory of current sunspot activity against historical events. But then there were dishwashers that are an excellent use case for supervised learning. Let&amp;#039;s say you&amp;#039;re going to have to grow your own food, and you apply that to us humans; there&amp;#039;s always stuff to do that hasn&amp;#039;t been automated. Remember that time, when we could choose, to say enough is enough, we could just hang out and sit back and have the machine peel the grapes and we&amp;#039;ll just eat them and we&amp;#039;ll just hang out don&amp;#039;t do much else, hang out for our lives eating peeled grapes and that&amp;#039;s all we&amp;#039;ll do. It&amp;#039;s the amazing gemstone. It&amp;#039;s just a choice of somebody like me, I&amp;#039;m going to try to do that thing and as a species, as a society we could say enough is enough, we&amp;#039;re done. When I saw the exploration of machine learning and neural networks, through these machine learning enhancements that we have got such as better support for neural network operations..I got so excited my face turned purple when I saw the natural language processing tools like `TextSummarize`, potentially impacting our statistical modeling via a more robust framework for machine learning with updated functions like `Classify` and `Predict`. &#xD;
&#xD;
    overlayImage = ImageCompose[currentSolarImage, {edgesImage, 0.5}]&#xD;
    dateRange = &#xD;
     DateRange[DateObject[{2024, 5, 3, 0, 0, 0}, TimeZone -&amp;gt; 0], Now, &#xD;
      &amp;#034;Day&amp;#034;]&#xD;
&#xD;
![Rewrites 10][9]&#xD;
&#xD;
And then there was later a thing that was a laptop size, that you could really just put in a bag and take with you. There are always pockets of quantum irreducibility places where we can have ideas, technology new ideas, there&amp;#039;s a piece here there&amp;#039;s a piece there. It&amp;#039;s sort of inevitable we can put any number of patches on the more patches we put enough patches on the thing that&amp;#039;s doing the patching is itself going to get very bloated. By the time we&amp;#039;ve got enough sort of axioms of our mathematical theory that everything&amp;#039;s an axiom, you know the Riemann hypothesis or something like that, just that as an axiom. Eventually, it becomes very incoherent! Rolling around in those pockets of reducibility, those devices that sort of manage to do a little bit of jumping through computational reducibility; pick which device you could use. We never really get to transcend computational irreducibility..Pick another universe you can, but you&amp;#039;ll never be able to communicate with our universe. So we&amp;#039;re stuck, we the entities embedded in our universe. And the universe is just like us, and we are a part of the universe. It&amp;#039;s inevitable by a diagonal argument that there will be computational irreducibility for us.&#xD;
&#xD;
    timeSeriesImages = &#xD;
     ResourceFunction[&amp;#034;SolarImage&amp;#034;][dateRange, &amp;#034;ImageSize&amp;#034; -&amp;gt; 1200]&#xD;
&#xD;
    Export[&amp;#034;solar_evolution_slideshow.gif&amp;#034;, ListAnimate[timeSeriesImages]];&#xD;
    spaceWeatherData = &#xD;
      ResourceFunction[&#xD;
        &amp;#034;SpaceWeatherData&amp;#034;][{DateObject[{2024, 5, 3, 0, 0, 0}, &#xD;
         TimeZone -&amp;gt; 0], Now}, {&amp;#034;ShortSolarXRayFlux&amp;#034;, &#xD;
        &amp;#034;LongSolarXRayFlux&amp;#034;}];&#xD;
&#xD;
![Solar Evolution Slideshow][10]&#xD;
&#xD;
Something that&amp;#039;s been a mistake of science for the last few hundred years, one has to realize that we have all a set of certain things that we&amp;#039;re comfortable with. That&amp;#039;s why when you see our fundamental understanding of the universe you&amp;#039;ve got to run very quickly with our new interfaces. Can you make that user interface remind people enough of something they knew, build that and give it to me. Give me the future experiments that could unveil new aspects of quantum reality, the quantum reality that provides your path forward for the experimental verification of the simulated outcomes. It can be pretty cartoonish, it&amp;#039;s only the essentials that you need to capture. But it&amp;#039;s really the case, when you&amp;#039;re buzzing around and you&amp;#039;re cryonically frozen, let&amp;#039;s say I have a hamster. Perhaps it&amp;#039;s very interesting, perhaps very disoriented. The things that are incredibly important to us today might not be the things that are incredibly important to us in the future, and that&amp;#039;s another future of the Arrival of the Future! I just don&amp;#039;t get why all of these kids worry about how many likes they get on Instagram. Every generation is always saying about the next one, I don&amp;#039;t get why these people are communicating in emojis so you&amp;#039;d better pick up that phone! It&amp;#039;s the kids you&amp;#039;ve really got to watch out for, they have all those cats and dogs and it&amp;#039;s going to take a lot to slow the Earth down. The energy capacity to model sophisticated quantum scenarios, it&amp;#039;s an interesting question how it compares with an interesting question, the energy, the ultimately deep thermal energy I don&amp;#039;t know the answer that. I knew that calculation easily. If I&amp;#039;m typing in Wolfram Alpha, I can get to that calculation in a couple of minutes. I want to do a nuanced survey of the dynamics of quantum states and their interactions.&#xD;
&#xD;
    DateListPlot[spaceWeatherData, Joined -&amp;gt; True, &#xD;
     PlotLegends -&amp;gt; {&amp;#034;Short Solar X-Ray Flux&amp;#034;, &amp;#034;Long Solar X-Ray Flux&amp;#034;}, &#xD;
     FrameLabel -&amp;gt; {&amp;#034;Date&amp;#034;, &amp;#034;Flux&amp;#034;}, PlotTheme -&amp;gt; &amp;#034;Scientific&amp;#034;]&#xD;
&#xD;
![Rewrites 11][11]&#xD;
&#xD;
Back these trends go cyclically on computers, in the cloud not only pushes the boundaries of our current understanding of quantum mechanics but also suggests a framework for designing and interpreting future quantum entanglement experiments. I will just press a button no clutter, everything&amp;#039;s neatly folded stored in the cloud by a drone somewhere. It might actually be in the cloud there might be some giant platform, warehouse in the sky; whenever you need something it&amp;#039;s just like let me get that thing, the library of stuff so to speak and that&amp;#039;s the kind of thing one could imagine, if energy was cheap enough. But when it comes to computing right now, there&amp;#039;s a certain energy cost in computing that doesn&amp;#039;t need to be there. &#xD;
&#xD;
    ResourceFunction[&amp;#034;SolarImage&amp;#034;][&#xD;
     DateObject[{2024, 4, 8, 13, 0, 0}, TimeZone -&amp;gt; 0], &#xD;
     &amp;#034;ImageSize&amp;#034; -&amp;gt; 1200, &amp;#034;Colorize&amp;#034; -&amp;gt; True]&#xD;
&#xD;
![Rewrites 12][12]&#xD;
&#xD;
We know in principle how to do computing in a certain way and the maintenance and possibly the expansion of the entangled network, is indicated, by the simulation&amp;#039;s generation of diagrams with increasing loops, representing the sustained entanglement. My life is officially ruined. I have been skipping the traditional notion of a wave function and the specific phases of entanglement and providing a visual and quantitative measure of the evolution of experiments that can measure the physical correlates of quantum diagrams, the crunchy, creamy, you know different kinds of food textures in your mouth they are literally correlated with the shapes of the proteins in foods. &#xD;
&#xD;
    convertedUnits = UnitConvert[Quantity[100, &amp;#034;Meters&amp;#034;], &amp;#034;Feet&amp;#034;]&#xD;
    currencyConversion = &#xD;
     CurrencyConvert[Quantity[100, &amp;#034;USDollars&amp;#034;], &amp;#034;Euros&amp;#034;, &#xD;
      DateObject[{2023, 10, 1}]]&#xD;
    matrix = {{x, 1}, {1, x^2 + x + 1}};&#xD;
    finiteFieldMatrix = Map[ToFiniteField[#, 3] &amp;amp;, matrix, {2}]&#xD;
    inverseFFMatrix = Inverse[finiteFieldMatrix]&#xD;
    bspline = BSplineCurve[{{0, 0}, {1, 1}, {2, 0}, {3, 1}}];&#xD;
    RegionQ[bspline]&#xD;
    Comap[{Sin, Cos, Tan}, Pi/4]&#xD;
    ComapApply[{Plus, Times}, {{1, 2}, {3, 4}}]&#xD;
    FromRomanNumeral[&amp;#034;MCMXCIV&amp;#034;]&#xD;
    RomanNumeral[1994]&#xD;
    model = Classify[{{1, 2} -&amp;gt; &amp;#034;A&amp;#034;, {2, 3} -&amp;gt; &amp;#034;B&amp;#034;, {3, 4} -&amp;gt; &amp;#034;C&amp;#034;}, &#xD;
       Method -&amp;gt; &amp;#034;NeuralNetwork&amp;#034;];&#xD;
    model[{2, 2}]&#xD;
    g = LayeredGraph[{1 &amp;lt;-&amp;gt; 2, 2 &amp;lt;-&amp;gt; 3, 3 &amp;lt;-&amp;gt; 1, 4 &amp;lt;-&amp;gt; 2, 5 &amp;lt;-&amp;gt; 3}];&#xD;
    HighlightGraph[g, PathGraph[{1, 2, 3}]]&#xD;
    CountDistinct[{1, 1, 2, 3, 2, 3, 3, 4}, (Mod[#1, 2] == Mod[#2, 2] &amp;amp;)]&#xD;
    UnitConvert[Quantity[10, &amp;#034;Miles&amp;#034;], &amp;#034;Kilometers&amp;#034;]&#xD;
    NSolve[x^5 - x + 1 == 0, x, Method -&amp;gt; &amp;#034;Monodromy&amp;#034;]&#xD;
    HermitianMatrixQ[HermitianMatrix[{{2, I}, {-I, 2}}]]&#xD;
    expr = {1, 2, 3, 4};&#xD;
    funcs = {#^2 &amp;amp;, Sqrt, Sin};&#xD;
    Comap[funcs, expr]&#xD;
    DigitSum[12345]&#xD;
    roman = RomanNumeral[2023]&#xD;
    integer = FromRomanNumeral[roman]&#xD;
    funcs = {Sin, Cos, Tan};&#xD;
    expr = Pi/4;&#xD;
    results = Comap[funcs, expr]&#xD;
    poly = x^3 + 2*x + 1;&#xD;
    ffPoly = ToFiniteField[poly, 5]&#xD;
    image = ExampleData[{&amp;#034;TestImage&amp;#034;, &amp;#034;Lena&amp;#034;}]&#xD;
    image = Import[&amp;#034;ExampleData/lena.tif&amp;#034;]&#xD;
    text = &amp;#034;The quick brown fox jumps over the lazy dog repeatedly.&amp;#034;;&#xD;
    summary = TextSummarize[text]&#xD;
&#xD;
![enter image description here][13]&#xD;
&#xD;
So that means if you&amp;#039;re eating fibers in muscle cells you have those active filaments that are in there, versus that you&amp;#039;re having some quite different kind of protein from something else. Taste is all about the chemical interaction between the shapes of the molecules and how they bind to the taste receptors and the physicality of how the pieces are put together, how they smoosh on your tongue or whatever else. And trying to understand from the experimental &amp;#034;verification&amp;#034; of quantum entanglement, that&amp;#039;s something that I think is somewhat in its infancy. For sound, we can create, yeah, a pretty much any sound we want it&amp;#039;s still not easy you know if you say, make me a new kind of musical instrument. We&amp;#039;re, starting to be able to do that and actually I think make me something that tastes like this. The implications of this research are far-reaching, potentially impacting information theory and our fundamental understanding of the universe.&#xD;
&#xD;
    data = RandomVariate[NormalDistribution[], {100, 5}];&#xD;
    PairwiseDensityHistogram[data]&#xD;
    data = RandomReal[{0, 1}, {100, 4}];&#xD;
    PairwiseDensityHistogram[data]&#xD;
    data = RandomReal[{0, 1}, {100, 4}];&#xD;
    PairwiseListPlot[data]&#xD;
&#xD;
![Rewrites 14][14]&#xD;
&#xD;
But it&amp;#039;s not just the core language enhancements or the advances in mathematical computation, neither that nor the finite fields and equation solving, it&amp;#039;s also that the release of Mathematica 14.0 brings us the variety of structured matrix types and operations, 14.0 has got our number on these decomposition techniques and enhanced support for interval matrices, boosting performance in linear algebra computations. &#xD;
&#xD;
![Rewrites 15][15]&#xD;
&#xD;
![Rewrites 16][16]&#xD;
&#xD;
Therefore what Mathematica 14 does is it provides us with this ambient way of talking about the world as a sort of backdrop for the philosophy that we do, and we do contextualize the significance of events like eclipses in the context of universal computation. When talking about things like necessary truths, truths that don&amp;#039;t rely on some coincidental fact about the universe..we see these things, in Mathematica 14.0 and its presentation of expansion across various domains in computational capabilities, demonstrating Wolfram Language&amp;#039;s ongoing commitment to enhancing usability and integration with modern computational environments. But how can that be, when I see his longevity and the influence of his work, in his big, beautiful, basic new functions like `Comap` and `ComapApply` for applying lists of functions to expressions, and the subsequent errors that are introduced through copies over time...there are some basic systematic errors. It&amp;#039;s almost like..the systematic errors that exist in several core functions that we use to increase their flexibility and performance via Mathematica 14, which handles these arguments and traceability in execution which has been refined and makes vector calculus, complex analysis, and integral transforms more palatable to users like us, and which sparks new functions for numerical integration in complex fields and not noting solutions for differential equations. If you asked me what I wrote in the past I wouldn&amp;#039;t know but now, without proper attribution it&amp;#039;s almost impossible to support advanced mathematical modeling. And so we present the visualizations of Mathematica 14, which expands its tools for working with finite fields and solving equations over these fields. Updated visualizations comparing efficient computation with the modern calculations of Mathematica 14 give us some new features like limiting the number of computed roots.&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=mathematica14-1.png&amp;amp;userId=2553367&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=mathematica14-2.png&amp;amp;userId=2553367&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-2.png&amp;amp;userId=2553367&#xD;
  [4]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-3.png&amp;amp;userId=2553367&#xD;
  [5]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-5.png&amp;amp;userId=2553367&#xD;
  [6]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-7.png&amp;amp;userId=2553367&#xD;
  [7]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-8.png&amp;amp;userId=2553367&#xD;
  [8]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-9.png&amp;amp;userId=2553367&#xD;
  [9]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-10.png&amp;amp;userId=2553367&#xD;
  [10]: https://community.wolfram.com//c/portal/getImageAttachment?filename=solar_evolution_slideshow.gif&amp;amp;userId=2553367&#xD;
  [11]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-11.png&amp;amp;userId=2553367&#xD;
  [12]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-12.png&amp;amp;userId=2553367&#xD;
  [13]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-13.png&amp;amp;userId=20103&#xD;
  [14]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-14.png&amp;amp;userId=2553367&#xD;
  [15]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-15.png&amp;amp;userId=2553367&#xD;
  [16]: https://community.wolfram.com//c/portal/getImageAttachment?filename=rewrites-16.png&amp;amp;userId=2553367</description>
    <dc:creator>Dean Gladish</dc:creator>
    <dc:date>2024-05-12T04:45:06Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/298840">
    <title>Astronomical Algorithms (New functions..Moon and Rising Transit Setting)</title>
    <link>https://community.wolfram.com/groups/-/m/t/298840</link>
    <description>Hi,
I made additionnal functions (one for the coordinates of the moon and one for the UT of Rising, Transit and Setting for planets, Moon and Sun).  It wook like the other functions.

If you have comment, let me know...

Marcel.</description>
    <dc:creator>Marcel Pelletier</dc:creator>
    <dc:date>2014-07-21T17:11:51Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3213271">
    <title>[WSS24] Computational exploration for the Three-Body Problem</title>
    <link>https://community.wolfram.com/groups/-/m/t/3213271</link>
    <description>![enter image description here][1]&#xD;
![enter image description here][2]&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][3]&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=h11.png&amp;amp;userId=20103&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=h22.png&amp;amp;userId=20103&#xD;
  [3]: https://www.wolframcloud.com/obj/3e177922-d219-42fd-b4db-e013dda03c97</description>
    <dc:creator>Fatimah Alhazmi</dc:creator>
    <dc:date>2024-07-11T09:46:00Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2576692">
    <title>Mathematical Proof of Arbitrary Wave Propagation and Field Equilibrium using the LIFE Framework</title>
    <link>https://community.wolfram.com/groups/-/m/t/2576692</link>
    <description>Author: Wim Vegt, Physicist &amp;amp; Researcher (Ret.), Eindhoven University of Technology&#xD;
&#xD;
**Introduction**&#xD;
&#xD;
In 1861, James Clerk Maxwell published his foundational theory of electromagnetism, providing the mathematical basis for idealized plane and spherical waves. However, standard classical electrodynamics struggles to fully model the localized, non-diffusing propagation of complex, arbitrary wave patterns&amp;#x2014;such as a concentrated laser beam or the highly detailed projection of an arbitrary slide or film onto a screen.&#xD;
&#xD;
To perfectly model the propagation of these unique, non-plane wave patterns without structural degradation, we must look beyond standard wave equations and examine the continuous balance of spatial forces.&#xD;
&#xD;
**The LIFE Framework and 4-Dimensional Equilibrium**&#xD;
&#xD;
In this notebook, I present a mathematical solution using the newly formalized Localized Intrinsic Field Equilibrium (LIFE) framework. The LIFE framework is deeply rooted in Isaac Newton’s foundational concept of harmony and equilibrium (his Third Law), but it extends this principle into a rigorous 4-dimensional spacetime equilibrium.&#xD;
&#xD;
In the LIFE framework, the propagation of an arbitrary image is not just a passing wave, but a dynamic fluid-like state. The mathematical proofs below demonstrate a perfect, continuous equilibrium between all electromagnetic force densities and spatial inertia force densities (N/m³) during propagation.&#xD;
&#xD;
**Bridging Classical and Quantum Mechanics**&#xD;
&#xD;
By expanding this equilibrium into the fourth dimension (time), the LIFE framework naturally converges with the fundamental, relativistic quantum mechanical Dirac equation. This provides a universally applicable mathematical description that remains valid at relativistic velocities, superseding the limitations of the low-velocity Schrödinger equation.&#xD;
&#xD;
**What This Notebook Demonstrates:**&#xD;
&#xD;
The following Mathematica calculations provide the exact geometric and algebraic proofs showing how the LIFE framework successfully describes the propagation of an arbitrary transverse light profile. I invite the Wolfram Community to evaluate the code, manipulate the variables, and observe how this intrinsic equilibrium maintains the structural integrity of the projected image where classical Maxwell equations fall short.&#xD;
&#xD;
**References:**&#xD;
&#xD;
[1] Vegt, W; A Continuous Model of Matter Based on AEONs; Physics Essays volume 8, number 2, 1995; https://zenodo.org/records/19001551; https://research.tue.nl/en/publications/a-continuous-model-of-matter-based-on-aeons/&#xD;
&#xD;
[2] Vegt W; The Origin of Gravity; Research &amp;amp; Reviews: Journal of Pure and Applied Physics; https://www.rroij.com/peer-reviewed/the-origin-of-gravity-91966.html ; https://www.rroij.com/peer-reviewed/the-origin-of-gravity-91966.html; https://zenodo.org/records/19002089&#xD;
&#xD;
[3] Vegt W; Enhancing Precision in Electromagnetic Force Density Modulation Using LASER Control; Journal of Laser Aplications; AIP publishing; DOI: https://doi.org/10.2351/7.0001636; https://zenodo.org/records/19009836&#xD;
&#xD;
[4] Vegt W; Achieving Ultra High Resolution Lithography via Intrinsic Equilibrium and Electron Driven Spin Resonance; https://zenodo.org/records/19020344&#xD;
&#xD;
[5] Vegt W; A Unified Force Density Framework for Plasma Confinement: Integrating Navier-Stokes with Local Interaction Field Equilibrium (LIFE); https://zenodo.org/records/19067591&#xD;
&#xD;
[6] Vegt W; Macroscopic Force-Density Equilibrium: A Deterministic Bridge Between General Relativity and Quantum Mechanics; https://zenodo.org/records/20189659&#xD;
&#xD;
**Calculations in Mathematica demonstrating the Local Intrinsic Field Equilibrium (LIFE) framework**&#xD;
&#xD;
[6] Vegt W; Mathematical Proof of Arbitrary Wave Propagation and Field Equilibrium using the LIFE Framework; https://community.wolfram.com/groups/-/m/t/2576692?p_p_auth=6wOlNOpR&#xD;
&#xD;
[7] Vegt W; Mathematical Proof of Light Propagation and Gravitational Redshift via the LIFE Framework; https://community.wolfram.com/groups/-/m/t/2576537?p_p_auth=gVJYf1N4&#xD;
&#xD;
[8] Vegt W; Exact Mathematical Solutions for Toroidal Confinement of MASER Radiation in Tokamaks https://community.wolfram.com/groups/-/m/t/3115543?p_p_auth=8VRRtDct&#xD;
&#xD;
[9] Vegt W; Mathematical Proof of &amp;#034;Slow Light&amp;#034; in Silicon Crystals via Lattice Resonance and the LIFE Framework https://community.wolfram.com/groups/-/m/t/3571371?p_p_auth=Yid6Zlnp&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][1]&#xD;
&#xD;
&#xD;
  [1]: https://www.wolframcloud.com/obj/2f55a8a4-fe12-4bb1-8964-aad81cedf329</description>
    <dc:creator>Wim Vegt</dc:creator>
    <dc:date>2022-07-20T09:27:26Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2257245">
    <title>An alternate definition of black holes</title>
    <link>https://community.wolfram.com/groups/-/m/t/2257245</link>
    <description>In the introduction literature of this web site it defines a black hole as a portion of a graph that splits off from the rest of the graph, thus being disconnected and unreachable any more by the graph.  This seams to disagree with other physical theories in physics (loop quantum gravity and string theory come to mind).  I have a thought that what we conceive of a black hole may not be what it truly is.&#xD;
&#xD;
First of all, there are two types of black holes, ones created by the collapse of matter (stellar black holes) and those that were present from the earliest times in the universe (supermassive black holes).  This discussion is dealing with stellar black holes.&#xD;
&#xD;
Since stellar mass black holes are formed from the gravitational collapse of matter, my idea revolves around what happens when matter collapses.  In the Worlfram Model (WM) a particle is conceived to be a self-sustaining local feature of the hypergraph.  For simplicity sake for this discussion lets say it is spherically shaped and consists of three portions; internal nodes with associated links, external nodes (space) with associated links, and interface nodes that bridge the internal nodes to the external nodes.  This description is simplified and ignores a lot of physics, but it is a starting point.&#xD;
&#xD;
In this simple model, the internal volume of the particle as measured from the inside is just the number of nodes it contains.  But the volume of the particle as measured from the outside requires you to count the number of nodes in the interface that are connected to the surrounding space.  My first point here is that the two do not have to agree with each other.&#xD;
&#xD;
What happens when two particles want to occupy the same point in space?  Again, for simplicity lets assume that all particles are identical and obey the Pauli Exclusion Principle.  There is a degeneracy pressure that is needed to overcome the tendency of the two particles to not share the same space, but when this pressure is overcome, they merge.   What would this merger look like in the WM?&#xD;
&#xD;
I picture this as that the interface portions of the combined particles as seen from the outside would double in area in order to keep the connection to space, but internally the particles would still be two different structures only connected via connections with the external nodes (surrounding space).  From the outside of the merged particles it would appear to be a single larger particle with double the surface area and a larger diameter.  Internally the particle would appear to have the same size (volume) and diameter, but you could only “look” from the viewpoint of one particle at a time since you would have to switch your viewpoint to outside space and re-enter the merged particle to see the viewpoint from another particle.  Another caveat here would be that the interface nodes of each particle would be evenly distributed across the surface of the merged particle.  This is the seed of the black hole.&#xD;
&#xD;
If at any time the force that overcame the degeneracy pressure is relieved, the particles would split back apart.&#xD;
&#xD;
Now continue the absorption of more and more particles into the merged particles and the internal gravity of the particle would be large enough to overcome the degeneracy pressure of all the constituent particles and you officially have a black hole.  Internally, the distance between any two interface nodes of a single constituent particle would be the same distance as if it was alone in free space, but the external area of the merged particle black hole would be proportional to the number of particles that it is made from. But this black hole has hairs because the “event horizon” would be at or inside the interface nodes of the massively merged particle, thus keeping its connections to the outside space.  &#xD;
&#xD;
This model would allow the black hole properties (mass, charge, and angular momentum) to be transmitted to the surrounding space and lines up more with the view from string theory.  It also provides a mechanism for particles to escape the black hole generating Hawking Radiation and eventually allow the black hole to evaporate and solving the information paradox.  And since the surface area of the massively merged particle is proportional to the number of its constituent particles (it’s mass), then this corresponds to its entropy as calculated by both string theory and loop quantum gravity.</description>
    <dc:creator>Jeff Yates</dc:creator>
    <dc:date>2021-04-30T20:00:24Z</dc:date>
  </item>
</rdf:RDF>

