MaplePrimes Posts

MaplePrimes Posts are for sharing your experiences, techniques and opinions about Maple, MapleSim and related products, as well as general interests in math and computing.

Latest Post
  • Latest Posts Feed
  • Application that allows us to measure the reliability of a group of data through a row and columns called cronbach alpha at the same time to measure the correlation of items through the pearson correlation of even and odd items. It can run on maple 18 to maple 2017. This will be useful when we are developing a thesis in the statistical part.

    In Spanish

    StatisticsSocialCronbachPearson.zip

    Lenin Araujo Castillo

    Ambassador of Maple

     

     

    Let us consider the help to RectangleWindow SignalProcessing-RectangleWindow.pdf SignalProcessing-RectangleWindow.mw.
    Let us execute the example, taking N:=4 (in order to display the outputs).

    with(SignalProcessing):
    N := 4;
    a := GenerateUniform(N, -1, 1);
             Matrix(1, 4, [[.396167882718146, -.826878267806025, -0.908376742154361e-2, .324899681378156]])         
    RectangleWindow(a);
             Vector[row](4, [.396167882718146, -.826878267806025, -0.908376742154361e-2, .324899681378156])      
    c := Array(1 .. N, 'datatype' = 'float'[8], 'order' = 'C_order'):
    RectangleWindow(Array(1 .. N, 'fill' = 1, 'datatype' = 'float'[8], 'order' = 'C_order'), 'container' = c);
                  Vector[row](4, [1., 1., 1., 1.])
    u := `~`[log](FFT(c)):
    plots:-display(Array([plots:-listplot(Re(u)), plots:-listplot(Im(u))]));
    



    We see an uncommented code which (intentionally or unintentionally) produces two empty plots.
    The questions arise:

    • What is the aim of the RectangleWindow command which does nothing 
      but the conversion of a Matrix(1,N,...) /Array(1..N,...) to a Vector[row](N,...)? 
    • Could such help be called friendly to Maple users?

    There are many questions to Maplesoft and there are no answers from them: strategic silence.
    RectangleWindow.mw

     

    Here's a little procedure to fish out data from the Simbad database.  Some star names may not work if the page Simbad brings up is not completely filled, but it should work for most queries.


     

    restart; gc()

    Simbad := proc (a::string) local b, c, c1, c2, c3, c4, c5, d1, d2, d3, d4, d5, e1, e2, e3, e4, e5; b := StringTools:-DeleteSpace(StringTools:-Substitute(a, " ", "+")); c := HTTP:-Get(cat("http://simbad.u-strasbg.fr/simbad/sim-id?Ident=", b, "&submit=submit+id")); c1 := StringTools:-Search("Parallaxes", c[2]); c2 := StringTools:-Search("Radial", c[2]); c3 := StringTools:-Search("Spectral type:", c[2]); c4 := StringTools:-Search("Gal", c[2]); c5 := StringTools:-Search("ICRS", c[2]); d1 := c[2][c1+87 .. c1+93]; d2 := c[2][c2+96 .. c2+110]; d3 := c[2][c3+77 .. c3+90]; d4 := c[2][c4+122 .. c4+140]; d5 := c[2][c5+135 .. c5+164]; e1 := d1[() .. StringTools:-Search(" ", d1)]; e2 := d2[() .. StringTools:-SearchAll(" ", d2)[2]]; e3 := d3[() .. StringTools:-Search(" ", d3)]; e4 := convert(evalf(1000/parse(e1)), 'units', 'parsec', 'ly'); e5 := d5[() .. StringTools:-Search("\n", d5)-1]; print(cat(StringTools:-Capitalize(a), "\nDistance", e4, "lightyears", "\nRight Ascension and declination:", e5, "\nGalactic coordinates", d4, "Spectral Type:", e3, "\nRadial velocity:", e2, "\nParallax", e1, "milliarcseconds")) end proc:
     

    Simbad("epsilon eridani")

    "Epsilon Eridani
Distance" || (10.48936700) || "lightyears" || "
Right Ascension and declination:" || "03 32 55.84496 -09 27 29.7312" || "
Galactic coordinates" || "195.8446 -48.0513
 " || "Spectral Type:" || "K2Vk: " || "
Radial velocity:" || "V(km/s) 16.43 " || "
Parallax" || "310.94 " || "milliarcseconds"

    (1)

    Simbad("alpha centauri")

    "Alpha Centauri
Distance" || (4.395638513) || "lightyears" || "
Right Ascension and declination:" || "14 39 36.204 -60 50 08.23" || "
Galactic coordinates" || "315.7330 -00.6809
 " || "Spectral Type:" || "G2V+K1V " || "
Radial velocity:" || "V(km/s) -22.3 " || "
Parallax" || "742 " || "milliarcseconds"

    (2)

    Simbad("beta hydri")

    "Beta Hydri
Distance" || (24.32731987) || "lightyears" || "
Right Ascension and declination:" || "00 25 45.07036 -77 15 15.2860" || "
Galactic coordinates" || "304.7720 -39.7821
 " || "Spectral Type:" || "G0V " || "
Radial velocity:" || "V(km/s) 23.10 " || "
Parallax" || "134.07 " || "milliarcseconds"

    (3)

    Simbad("HR6998")

    "Hr6998
Distance" || (42.67386858) || "lightyears" || "
Right Ascension and declination:" || "18 38 53.40045 -21 03 06.7368" || "
Galactic coordinates" || "012.7251 -06.7965
 " || "Spectral Type:" || "G6V " || "
Radial velocity:" || "V(km/s) 36.175 " || "
Parallax" || "76.43 " || "milliarcseconds"

    (4)

    ``


     

    Download star_database_-_simbad.mw

    I found this http://www.atlasoftheuniverse.com/50lys.html and wondered how to do it in Maple. With a bit of data file editing I came up with this.  All stars within 50 light years that are visible to the naked eye.


     

    restart; gc()

    with(plots):

    with(plottools):

    a := readdata("c:/stars3.txt", [string, float, float, float]):

    b := map(proc (a) options operator, arrow; [a[4], a[2], a[3]] end proc, a):

    g := :-changecoords([x, y, z], [x, y, z], spherical, [r, theta, (1/2)*Pi-phi])

    [r*sin((1/2)*Pi-phi)*cos(theta), r*sin((1/2)*Pi-phi)*sin(theta), r*cos((1/2)*Pi-phi)]

    (1)

    tt := [seq(evalf(subs({phi = convert(b[i][3]*degrees, radians), r = b[i][1], theta = convert(b[i][2]*degrees, radians)}, g)), i = 1 .. nops(b))]:

    stars := pointplot3d(tt, color = red, symbol = solidcircle, symbolsize = 5)

    PLOT3D(POINTS([3.141656625, -3.065814279, -0.5363263369e-1], [-5.772842366, -6.234102660, -1.330509322], [-6.747305264, -1.909294949, -7.815271235], [-9.249301903, -6.168517561, 2.566691531], [1.523622092, 11.26895208, -1.155073477], [7.242651534, -3.194389926, -8.791403287], [-3.375068769, .4084281956, -11.40403864], [-12.10139419, -4.596888455, -10.15024015], [14.09808071, 8.106755961, 3.279135277], [11.15052984, 12.25427229, -2.594493178], [-3.419769677, 17.11427532, 7.015900193], [15.04843187, -6.018943313, 10.40502857], [-10.42150660, 16.29565570, -1.726327245], [19.37009401, -.5748909284, 2.345071093], [16.86849035, 1.535152882, -10.13730432], [-3.624453569, -10.40801291, -16.40104276], [14.53624850, -8.460298659, -10.67366976], [-7.231982853, 19.97813208, -1.187881627], [9.620796689, 4.103617543, 19.18392802], [-15.19214319, 4.528974584, -17.36108506], [23.35174623, -3.365038049, .5765994043], [-6.811639233, 11.11558498, -20.54249842], [-13.85405602, 12.08566336, -15.98159795], [10.68989447, -15.38074244, -15.60587447], [-14.13228719, 19.88605992, -3.385259168], [10.27598870, 2.927192384, -22.50208215], [9.961208544, 3.724343264, -22.70260980], [9.143348930, 22.07399698, 8.320326164], [-23.59749508, -4.800964644, -10.27138571], [-5.411799069, 22.54176541, 12.37819224], [4.496828592, -12.62856178, -22.94041979], [-9.282551806, -2.504624702, 25.44407764], [-4.991684031, 4.803604874, 26.40640965], [15.07681588, 19.57764444, 11.83914952], [13.33734565, -14.86471460, 19.35333487], [10.71939792, -13.57311193, -22.05778867], [-27.91856076, -4.172456862, -1.331228297], [27.18654831, -8.676334271, -2.647341036], [-23.15604687, -10.84708496, -13.14156540], [24.14988887, 6.742770129, -14.12821003], [-18.24903039, -19.43324358, -12.03679499], [-19.47836941, -6.366512513, -21.22052411], [1.737082939, 1.648430159, 29.76381731], [-8.166167580, 1.661425568, 28.68397239], [-21.79918531, .6850669983, -20.40938762], [19.48447839, -12.08088844, -19.44250077], [9.550472834, -26.52745875, 10.65373179], [7.061767869, -26.72771859, 14.26858765], [-8.925013073, -.5615142310, 29.80743604], [27.25388910, 6.643782013, 15.16765603], [-20.51315816, 25.24143542, .9653395827], [-6.514439942, 18.29467278, 26.63134657], [7.897693130, -27.90985562, -15.94604661], [-30.24778274, -6.539802137, 13.39182687], [-17.39717901, -3.729632012, -28.80846417], [-27.77451873, 19.73832304, -4.425416699], [-16.72100652, 29.91871832, 7.975859507], [16.27294095, 21.36128840, 22.77346814], [-25.44324866, 19.59393922, -15.24864399], [.1513479143, -17.34275050, 31.03237984], [1.717990984, -16.62465483, -31.43293430], [-3.952184454, -11.22283603, 34.16753707], [13.79744768, 29.99780276, 14.83921382], [-13.23790880, 23.68644879, -24.00672435], [22.42836846, 11.77515669, 25.95817545], [-24.22192093, -3.619990337, 27.00973559], [-28.14737644, 22.63107168, -6.108739192], [12.64368664, 3.411528480, 34.29464625], [10.76859270, .9989721406, 35.37371292], [16.76571480, 7.324760688, 32.87131102], [-2.125303532, -30.39325725, -22.70975559], [26.50575552, 7.450431864, 26.68129662], [4.681906269, 34.62812576, -15.77746051], [21.22229159, 16.34336469, -27.73774271], [8.642995477, -16.39289961, 33.84907047], [4.194125964, -26.48066899, -28.95298045], [29.05143012, -24.81226531, -9.951698266], [-12.02418205, -37.67674179, 3.460082988], [-36.31468346, 14.37800028, 8.301913818], [31.32513775, -24.56204547, -5.240626617], [-11.18258143, 31.40433711, -22.91113229], [-30.95713334, -9.346509576, 24.99311013], [-23.18290754, -32.62151994, 9.092350346], [-26.39556889, 28.60460399, -13.63041355], [-40.27955197, 8.782362586, 1.079537348], [-11.43139039, -7.856576969, -38.95407568], [3.769221962, 22.28497845, 34.93658256], [-4.619258428, 34.61973164, 22.85528894], [-23.40542087, 11.26426836, 32.88997769], [39.51971345, -13.14645885, 5.261489147], [6.069471167, -26.08199826, 32.48539497], [-40.13923071, 12.57887241, 3.384394608], [41.02326573, 9.244992210, -5.014408062], [-29.06950326, -20.65862072, -24.78609025], [-27.49729080, 30.53883527, -15.52814989], [-29.74467917, 7.692497076, 31.48332336], [25.85459060, -9.924647480, -34.69169378], [-13.64550398, 34.99890783, -24.20893992], [30.42203099, 31.61316765, -8.607657127], [-33.27978250, -2.970141446, -29.76905838], [-1.180761099, 27.04387545, -35.92262524], [-21.03852595, 37.95450550, 11.87164852], [-19.67481024, -7.473759355, -40.42995379], [39.79319523, 3.271596183, 22.31470081], [-20.50141444, 1.505529746, 41.05062102], [-.6748395635, 38.66153119, 24.82404273], [-16.85106712, -16.67552070, -39.45541086], [40.49802876, 12.53623404, -18.78641538], [-32.93404980, 18.55738333, 27.16384339], [34.92406817, 25.28080920, 17.94659157], [-6.296985384, 45.37992800, 9.404414370], [22.24424377, 32.85461078, 25.08249928], [39.53312079, -25.57512282, 6.115214927], [-1.588926894, 23.92244252, 41.02855658], [-35.74198886, 5.341675996, 31.19429964], [36.98453431, 14.41966737, -26.57424156], [-46.68814535, -5.898084394, -8.552109953], [35.05110270, 5.991394707, 32.01789951], [36.60612781, 13.32354091, -27.78663643], [13.51762166, -35.96304965, 29.05652877], [-10.38961406, -43.95116043, 17.78996954], [-28.30533977, -7.584392920, 38.74662727], [9.914015961, -13.79681314, -45.68312418], [-9.191698604, 47.28718983, 7.802201960], [21.29072957, 42.51660453, 11.24023016], [-35.75149122, -29.78701952, -15.57013949], [5.493536467, -15.01179385, -46.42496206], [-3.928870403, 39.36220535, 29.27122934], [33.42605444, 36.35056112, -1.638197365], [-17.62503890, -46.15541461, -4.148747474], [44.66028688, -18.77345598, 11.18456642], [45.91393827, -16.62061368, -9.934504171]), SYMBOL(_SOLIDCIRCLE, 5), COLOUR(RGB, 1.00000000, 0., 0.))

    (2)

    lines := seq(`if`(tt[i][3] > 0, line(tt[i], [tt[i][1], tt[i][2], 0], color = blue), line(tt[i], [tt[i][1], tt[i][2], 0], color = blue, linestyle = dot)), i = 1 .. nops(b)):

    c1 := circle([0, 0], 10, color = blue):

    c2 := circle([0, 0], 20, color = blue):

    c3 := circle([0, 0], 30, color = blue):

    c4 := circle([0, 0], 40, color = blue):

    c5 := circle([0, 0], 50, color = blue):

    l1 := line([-50*cos((1/4)*Pi), -50*sin((1/4)*Pi)], [50*cos((1/4)*Pi), 50*sin((1/4)*Pi)], color = blue):

    l2 := line([-50*cos(2*Pi*(1/4)), -50*sin(2*Pi*(1/4))], [50*cos(2*((1/4)*Pi)), 50*sin(2*((1/4)*Pi))], color = blue):

    l3 := line([-50*cos(3*((1/4)*Pi)), -50*sin(3*((1/4)*Pi))], [50*cos(3*((1/4)*Pi)), 50*sin(3*((1/4)*Pi))], color = blue):

    l4 := line([-50*cos(4*((1/4)*Pi)), -50*sin(4*((1/4)*Pi))], [50*cos(4*((1/4)*Pi)), 50*sin(4*((1/4)*Pi))], color = blue):

    t1 := textplot([55, 0, "0"], color = blue):NULL

    t2 := textplot([55*cos((1/2)*Pi), 55*sin((1/2)*Pi), "90"], color = blue):

    t4 := textplot([55*cos(3*Pi*(1/2)), 55*sin(3*Pi*(1/2)), "270"], color = blue):

    t3 := textplot([55*cos(Pi), 55*sin(Pi), "180"], color = blue):

    a1 := arrow([60, 0], [80, 0], 1.5, 4, .4, color = blue):

    a2 := textplot([95, 5, "Galactic Center"]):

    d := display(c1, c2, c3, c4, c5, l1, l2, l3, l4, t1, t2, t3, t4, a1, a2, axes = none, scaling = constrained):

    to3d := transform(proc (x, y) options operator, arrow; [x, y, 0] end proc):

    display(to3d(d), stars, lines, orientation = [-46, 75])

     

    ``

    ``

    NULL

    NULL

    The modified data file and the maple worksheet below

    stars3.txt

    Download Stars50LY.mw

     

    I have proposed a SE site for maple.

    This will help to put maple on SE.

    Please follow this site.

    http://area51.stackexchange.com/proposals/107315/maple

     Update

    We have moved to the next phase Commitment. Come and join us.

    Ilias Kotsireas is a Professor and Director of the CARGO lab at Wilfrid Laurier University, in Waterloo Ontario.

    Throughout my career as a teacher, I’ve had the opportunity to work with students from around the globe. I’ve been able to work with students in other countries, immersing myself in their culture and learning environment. This has allowed me to experience the differences in educational delivery first hand, and to assess how education is viewed in other parts of the world.

    On more than one occasion, I’ve visited the city of Guangzhou, China, to teach summer and winter school courses, beginning in 2007 and most recently in 2015 and 2016. During this time, I have witnessed tremendous growth in the development of Chinese Universities, as well as Chinese culture as a whole.  For example, the two largest supercomputers in the world - according to the website www.top500.org  - are located in China.  Another indication of the scale of this extraordinary growth is the fact that China currently has more than 2,000 universities, government research facilities and laboratories.  Furthermore, China Central Television (CCTV) programs report that China is planning the creation of an additional 10 mega-cities, each comparable in size to Shanghai.

    Ilias Kotserias stands with students and fellow professors at South China Normal University (SCNU) in Guangzhou, China.

     

    Summer and winter school courses in China are incredibly intensive. Such courses can run for one or two weeks and include two lectures per day, one on the morning and one in the afternoon. A tremendous amount of material must be covered in a short amount of time to accommodate the entire course.

    Overall, my experiences have shown that students in China are very enthusiastic about education. They are heavily engaged with the learning materials and often spend time with professors at the conclusion of a lecture to converse and ask questions about what they have just learned. Class sizes are significantly smaller and there is a lot of one-on-one time with students. Students in China take their studies very seriously; they are very focused and motivated to do well in their studies, and they bring a great deal of knowledge and curiosity to the classroom.  Professors cannot gloss over material or deliver a scripted lecture. Students hold professors accountable, and expect them to be knowledgeable and have a strong understanding of the material. They have a strong desire to learn and gain experiences and relevant skills that they can carry forward with them in their educational and professional careers.

    Maplesoft graciously offered short term licenses to my students in China, so they could use Maple in the mathematics courses I was teaching. Using Maple allowed me to continue using an experimental approach to teaching that I use for my students back home in Canada.  This approach encourages students to start with simple experimentation that may also contain visual components, develop a plausible conjecture and subsequently attempt to solve it step by step.  This promotes a “learn by doing” paradigm that promotes active learning and helps students better understand key mathematical concepts. In a delightful episode, one Chinese student told me “I don’t understand your English accent,” but in teaching with Maple there are no accents I need to worry about!  Chinese students are inquisitive, respectful and conscientious; it is an absolutely gratifying experience working with them. 

    I was first introduced to Maple when I was completing my Masters and Ph.D in France in the late 1990s. When I began teaching in 2001, I introduced Maple into my classrooms to improve my students’ ability to learn the materials, understand difficult concepts, and to create more sustainable engagement with them. Initially, it took some work to convince them to use Maple, as it was not among the conventional learning methods they were used to. Eventually students came to embrace Maple as a learning tool and I was able to use visual and interactive examples to engage them. With Maple, experimentation is at your fingertips and it allows me to incorporate an example-driven learning experience for my students.

    It was a valuable experience to work with students from another culture and be able to engage them using the same method I use to engage my students back home. Maple is not only a powerful and convenient teaching tool, but it can also assist in bridging cultural gaps and creating a learning experience that is uniform across the globe.

       Maplesoft aims to promote innovation in science, technology, engineering and math (STEM) in high school students by partnering with various organizations, and sponsoring initiatives in education, research and innovation. Every year, Maplesoft commits time, funds and people to enhance the quality of math-based learning and discovery and to encourage high school students to strengthen their math skills.

       One such organization we partner with is The Perimeter Institute, a leading centre for scientific research, training and educational outreach in foundational theoretical physics.  Maplesoft currently serves as its Educational Outreach Champion, supporting various initiatives that promote math learning and exploration. Perhaps the most popular of its student outreach program is the annual International Summer School for Young Physicists (ISSYP), a two-week camp that brings together 40 exceptional students from high schools across the globe.  Each year students receive a complimentary copy of Maple, and use the product to practice and strengthen their math skills.  The ISSYP program also uses Möbius, the comprehensive online STEM courseware platform from Maplesoft, to offer preparatory course materials to students.  Completing lessons in Möbius aid in making the summer program a more productive and dynamic experience for the students.

      

    International Summer School for Young Scientists at Perimeter Institute

     

       Who Wants to Be a Mathematician is a competition organized by the American Mathematical Society (AMS) for high school students in North America. Maplesoft has been a sponsor of the contest for many years.  Maple T.A., the testing and assessment tool by Maplesoft, is used to administer the tests online, saving significant time and money for the organizers. When Maplesoft first introduced Maple T.A. to the contest, taking the competition from pen-and-paper tests to online tests, the number of contestants doubled, with about 2000 students participating in the contest. Maplesoft also donates prizes to the games in order to promote the use and love of math by high school students.  This year will be first time the competition moves international. Six students in the UK took the Round 2 qualifying test, with the use of Maple T.A., and qualified for the live, on-stage finals of the UK edition of the competition that took place at the 2017 Maths Fest in London. Maplesoft is also supporting the spread of the WWTBAM contest to Canada in 2017.


    Who Wants to be a Mathematician finals

    Maplesoft also sponsors two outreach initiatives in Texas A&M University.  The Summer Educational Enrichment (SEE) Math Program is a summer workshop attended by gifted middle school students. Students spend two weeks exploring ideas such as algebra, geometry, graph theory, and topology.  The University also conducts the Integral Bee every year, a math based contest for high school students.

    In addition to the above key projects, throughout the year Maplesoft also sponsors and is associated with a number of other competitions, conferences, and educational initiatives. A few of these are listed below.

    • The Connecticut Science & Engineering Fair is a yearly, statewide science and engineering fair open to all 7th through 12th grade students.  An important objective of their program is to attract young people to careers in science and engineering while developing skills essential to critical thinking.
    • FIRST Robotics Competition is a high school robotics competition. Each year, teams of high school students and mentors work during a six-week period to build game-playing robots that weigh up to 120 pounds.

     

    FIRSTRobotics Competition

    • ScienceExpo Conference is a student-run event that engages students with STEM-related opportunities and workshops
    • SWATposium is an annual robotics conference that brings together nearly 40 First Robotic Competition teams from both Canada and the United States for a day of guest speakers, workshops and social activities.

            

    SWATposium

    • FIRST LEGO League gives elementary and middle school students and their adult coaches the opportunity to work and create together to solve a common problem.

          

    FIRST LEGO League at St. Luke's School in Waterloo

       Maplesoft’s objective of these sponsorships is to support those who inspire and channel young minds to be STEM focussed. By engaging them in exciting contests and programs the hope is that they build science, engineering, and technology skills at a young age and grow to be innovators and technology leaders of tomorrow.

    Sudoku is a well known Latin square type game, see https://en.wikipedia.org/wiki/Sudoku

    Here is a Sudoku game and its (unique) solution:

    A,Sol:=  # A = Sudoku matrix, 0 for each empty cell
    Matrix(9, [
    [0,0,3,0,9,0,1,0,0],
    [0,5,0,3,0,0,7,0,0],
    [1,0,2,0,0,5,0,6,4],
    [0,1,0,0,2,0,9,0,0],
    [2,0,0,6,0,3,0,0,1],
    [0,0,7,0,8,0,0,3,0],
    [7,6,0,9,0,0,8,0,5],
    [0,0,8,0,0,7,0,9,0],
    [0,0,4,0,6,0,2,0,0]]),
    Matrix(9, [
    [4,7,3,2,9,6,1,5,8],
    [8,5,6,3,4,1,7,2,9],
    [1,9,2,8,7,5,3,6,4],
    [3,1,5,7,2,4,9,8,6],
    [2,8,9,6,5,3,4,7,1],
    [6,4,7,1,8,9,5,3,2],
    [7,6,1,9,3,2,8,4,5],
    [5,2,8,4,1,7,6,9,3],
    [9,3,4,5,6,8,2,1,7]]);


    The procedure which follows is a very compact Sudoku solver. It uses Groebner bases. I hope that you will like it.
    The input is the Sudoku matrix and the solution matrix is returned.
    Note that the Sudoku matrix must be valid and must have a unique solution.
    (Otherwise, theoretically, the error "Invalid Sudoku matrix" should appear.)
    Note also that the procedure may be very slow for some games or Maple may crash. This happened to me once with a very "hard" matrix.

    I was impressed that Maple's implementation for Groebner bases works now so well for this problem!

    A few years ago on this site: http://www.mapleprimes.com/questions/131939-Calculating-Groebner-Basis-For-Sudoku
    it was an attempt to solve the problem with this method but it failed (due to wrong number of polynomials).

    sudoku:=proc(A::'Matrix'(9,integer))
    local x_A,x,Q,R,r, i,j,u,v,G;
    Q:=proc(X,Y) normal((mul(X-i,i=1..9)-mul(Y-i,i=1..9))/(X-Y)) end;
    x_A:=seq(seq( `if`(A[i,j]>0,x[i,j]-A[i,j],NULL),i=1..9),j=1..9);
    R:={seq({seq(x[i,j],j=1..9)},i=1..9), seq({seq(x[i,j],i=1..9)},j=1..9),
        seq(seq({seq(seq(x[3*u+i,3*v+j],i=1..3),j=1..3)},u=0..2),v=0..2)};
    G:=Groebner:-Basis({seq(seq(seq(Q(u,v),u=r minus {v}),v=r),r=R),x_A},'_vv');
    if nops(G)<>81 then error "Invalid Sudoku matrix" fi;
    eval(Matrix(9,symbol=x), `union`(map(u->solve({u}), G)[]));
    end:
    

    sudoku(A) < A; # Solving the previous game

    # Let's solve another one:
    A:=Matrix(9,9,[[0,0,0,4,0,0,0,8,0],[0,5,2,7,0,0,4,0,0],[3,0,0,0,0,0,0,0,0],[5,1,0,8,0,0,0,0,0],[0,0,0,5,0,0,6,7,0],[0,9,0,0,7,0,0,0,3],[2,4,0,0,0,5,0,0,0],[9,0,0,0,0,0,0,3,8],[0,0,0,0,0,0,9,4,0]]):
    sudoku(A) < A;

    Matrix   # A Sudoku matrix which crashes Maple!
    (9,[[8,0,0,0,0,0,0,0,0],[0,0,3,6,0,0,0,0,0],[0,7,0,0,9,0,2,0,0],[0,5,0,0,0,7,0,0,0],[0,0,0,0,4,5,7,0,0],[0,0,0,1,0,0,0,3,0],[0,0,1,0,0,0,0,6,8],[0,0,8,5,0,0,0,1,0],[0,9,0,0,0,0,4,0,0]]):

     

     

    The distance from the point to the surface easily calculated using the NLPSolve of Optimization package. If the point is not special, we will find for it a point on the surface, the distance between these two points is the shortest between the selected point and the surface.
    Two examples:  the implicit surface and the parametric surface.
    To test, we restore the normals from the  calculated  points (red) by using analytical equations.
    DISTANCE_TO_SURFACE.mw

    In the present work it has been shown how Maple helps in the teaching of Mathematics in the different subjects that it has. Using a Maple worksheet as if it were a class preparation notebook could develop problems such as: Vector Analysis, EDO, EDP, Statistics, Algebra, Geometry, etc., among others; Taking as a method of solution the clickable-mathpopup, the right click (contextual) or at best embedded components. No criteria or prerequisite is needed to use Maple; Rather than being willing to forget the traditional slate and down and replace it with dynamic leaves that maple offers us; To achieve excellent academic profiles both individually and in groups. The proprietary methods are used to develop applications (math-apps) being a professional criterion; That is to say, according to the problematic reality, we are looking for enduring interactive solutions. Here we use the graphical algorithm and the block diagram as a solution proposal but not as something obligatory to implement solutions. We take as a teaching-learning measure the results of our students in the ability to analyze and interpret the results; Since in the times of calculation; Maple helps tremendously; Opening up this way to train students competent in basic sciences and engineering.

     

    II_SEMINARIO_UNT_2017.pdf

    In Spanish

    Lenin Araujo Castillo

    Ambassador of Maple - Perú

     

     

    In the creation of this animation the technique from here  was used.

     

                        

     

    The code of this animation:

    with(plots): with(plottools):
    SmallHeart:=plot([1/20*sin(t)^3, 1/20*(13*cos(t)/16-5*cos(2*t)/16-2*cos(3*t)/16-cos(4*t)/16), t = 0 .. 2*Pi], color = "Red", thickness=3, filled):
    F:=t->[sin(t)^3, 13*cos(t)/16-5*cos(2*t)/16-2*cos(3*t)/16-cos(4*t)/16]:
    Gf:=display(translate(SmallHeart, 0,0.37)):
    Gl:=display(translate(SmallHeart, 0,-1)):
    G:=t->display(translate(SmallHeart, F(t)[])):
    A:=display(seq(display(op([Gf,seq(G(-Pi/20*t), t=3..k),seq(G(Pi/20*t), t=3..k)]))$4,k=2..17),display(op([Gf,seq(G(-Pi/20*t), t=3..17),seq(G(Pi/20*t), t=3..17),Gl]))$30, insequence=true, size=[600,600]):
    B:=animate(textplot,[[-0.6,0.25, "Happy"[1..round(n)]],color="Orange", font=[times,bolditalic,40], align=right],n=0..5,frames=18, paraminfo=false):
    C:=animate(textplot,[[-0.2,0, "Valentine's"[1..round(n)]],color=green, font=[times,bolditalic,40], align=right],n=1..11,frames=35, paraminfo=false):
    E:=animate(textplot,[[-0.3,-0.25, "Day!"[1..round(n)]],color="Blue", font=[times,bolditalic,40], align=right],n=1..4,frames=41, paraminfo=false):
    T:=display([B, display(op([1,-1,1],B),C), display(op([1,-1,1],B),op([1,-1,1],C),E)], insequence=true):
    K:=display(A, T, axes=none):
    K;


    The last frame of this animation:

    display(op([1,-1],K), size=[600,600], axes=none);  # The last frame

                              

     

    ValentinelDay.mw
     

    Edit. The code was edited - the number of frames has been increased.

    Let us consider the linear integer programming problem:

    A := Matrix([[1, 7, 1, 3], [1, 6, 4, 6], [17, 1, 5, 1], [1, 6, 10, 4]]):
     n := 4; z := add(add(A[i, j]*x[i, j], j = 1 .. n), i = 1 .. n):
    restr := {seq(add(x[i, j], i = 1 .. n) = 1, j = 1 .. n), seq(add(x[i, j], j = 1 .. n) = 1, i = 1 .. n)}:
     sol := Optimization[LPSolve](z, restr, assume = binary);
    
    Error, (in Optimization:-LPSolve) no feasible integer point found; 
    use feasibilitytolerance option to adjust tolerance
    
    sol1 := Optimization[LPSolve](z, restr, assume = binary, feasibilitytolerance = 100, integertolerance = 1);
    
    Error, (in Optimization:-LPSolve) no feasible integer point found;
     use feasibilitytolerance option to adjust tolerance
    

    That was OK in Maple 16, outputting

    .

    The bug in one of the principal Maple commands lasts since Maple 2015, where the above code causes "Kernel connection has been lost". The SCRs about it were submitted three times (see http://www.mapleprimes.com/questions/204750-Bug-In-LPSolve-In-Maple-20151).

    We have just released a small update to MapleSim.  MapleSim 2016.2a is an update to MapleSim 2016.2 that includes improvements in several areas, including corrections to problems related to custom components and importing Modelica libraries. As usual, we recommend that every MapleSim customer install all available updates.  The update is availble through Help>Check for Updates and as a download from our website.  See MapleSim 2016.2a for details.

    eithne

    The Möbius strip  Mobius_strip_rolling.mw

    Variants :


    The line and the curve on the surface.

     

    Recently, I came across an addendum to a problem that appears in many calculus texts, an addendum I had never explored. It intrigued me, and I hope it will capture your attention too.

    The problem is that of girding the equator of the earth with a belt, then extending by one unit (here, taken as the foot) the radius of the circle so formed. The question is by how much does the circumference of the belt increase. This problem usually appears in the section of the calculus text dealing with linear approximations by the differential. It turns out that the circumference of the enlarged band is 2*Pi ft greater than the original band.

    (An alternate version of this has the circumference of the band increased by one foot, with the radius then being increased by 0.16 ft.)

    The addendum to the problem then asked how high would the enlarged band be over the surface of the earth if it were lifted at one point and drawn as tight as possible around the equator. At first, I didn't know what to think. Would the height be some surprisingly large number? And how would one go about calculating this height.

    It turns out that the enlarged and lifted band would be some 616.67 feet above the surface of the earth! This is significantly larger than the increase in the diameter of the original band. So, the result is a surprise, at least to me.

    This is the kind of amusement that retirement affords. I heartily recommend both the amusement and the retirement. The supporting calculations can be found in the attached worksheet: Girding.mw

    First 55 56 57 58 59 60 61 Last Page 57 of 303