Vraag:
Is het acceptabel om Mathematica te gebruiken om resultaten in uw onderzoek af te leiden?
Heisenberg
2016-06-19 14:58:33 UTC
view on stackexchange narkive permalink

Tijdens het onderzoeken van statistiek kwam ik soms complexe integratie tegen die ik niet analytisch kan of wil oplossen.

Is het oké om Mathematica te gebruiken om de integratie op te lossen en het resultaat te gebruiken in mijn onderzoek? Moet ik dit melden in het academische artikel? Mijn probleem is dat ik verondersteld wordt deze dingen met de hand op te lossen.

(Enige context: ik kom uit de sociale wetenschappen en weet dus niet wat is toegestaan ​​met betrekking tot deze tools.)

Ik weet niet zeker of ik de vraag begrijp. Is er een regel in de sociale wetenschappen die zegt dat je geen hulpmiddelen mag gebruiken om wiskundige problemen op te lossen? (Ik zit niet in de sociale wetenschappen)
Ik ben 100% onwetend over wat koosjer is, aangezien deze situatie nooit is opgetreden. Telkens wanneer ik kwantitatieve lessen volg, is de impliciete veronderstelling dat ik de wiskunde met de hand moet doen, vandaar mijn aarzeling. Misschien is het antwoord inderdaad "duh, waarom gebruik je het niet?"
Het is net zo goed als het gebruik van R, Excel, MATLAB of uw zakrekenmachine om berekeningen met getallen uit te voeren - ja, maar enige kennis van wat er mis kan gaan en hoe u de resultaten kunt valideren of gezond verstand kunt controleren, is nuttig.
Wil je Mathematica gebruiken om een ​​primitief te vinden of numeriek te integreren?
@Stefan mogelijk beide. Is het een acceptabel en het ander niet?
Mijn punt is dat het, voor de juistheid van een wiskundig bewijs, niet relevant is hoe je het primitieve hebt gevonden, je hoeft alleen maar te bewijzen dat het * een primitief is, wat meestal een stuk eenvoudiger is.
-1
U kunt Mathematica gebruiken om enkele controles van zijn eigen resultaten uit te voeren. Ik was verrast om een ​​bug in Mathematica te vinden terwijl ik wat onderzoek deed.
Drie antwoorden:
Massimo Ortolano
2016-06-19 15:15:13 UTC
view on stackexchange narkive permalink

Is het oké om Mathematica te gebruiken om de integratie op te lossen en het resultaat in mijn onderzoek te gebruiken?

Natuurlijk is het.

Het kan zijn echter nuttig om de Mathematica-code die voor de berekeningen wordt gebruikt, beschikbaar te maken voor anderen, hetzij via een openbare repository, hetzij door een opmerking in de paper die suggereert contact op te nemen met de auteur (s). Hierdoor kunnen recensenten of andere lezers uw berekeningen controleren, eventueel hergebruiken of uitbreiden.

In een paper waarin ik uitgebreid gebruik heb gemaakt van Mathematica, schreef ik aan het einde de volgende opmerking:

Aan geïnteresseerden kunnen de auteurs de Mathematica-notitieboekjes van de volledige berekeningen ontwikkeld in dit werk.

Voor het laatste citaat: Als lezer lees ik waarschijnlijk liever "De Mathematica-notitieboeken van de volledige berekeningen zijn te vinden op ..." (waarschijnlijk zelfs als aanvullende documenten voor het artikel). Zou me een onderzoek besparen en een bijlage bij het artikel zou stabieler zijn dan een website of het e-mailadres van de auteur.
@Dirk Over het algemeen ben ik het met u eens. Voor dat specifieke geval waren we echter meer geïnteresseerd in het opzetten van een samenwerking met de slechts 2-3 groepen over de hele wereld die aan dat onderwerp hebben gewerkt, en vragen werden daarom op prijs gesteld.
Het probleem met deze benadering is dat scheidsrechters geen toegang hebben tot de notitieboeken zonder de anonimiteit te verbreken (tenzij je ze proactief met het manuscript als aanvullend materiaal instuurt). Voor wat het waard is, mijn ervaring is dat samenwerkingen * waarschijnlijker zijn als je de extra hindernis wegneemt om contact met iemand op te nemen en op een antwoord te wachten (laat ze "proberen voordat ze kopen", als je wilt).
@ChristianClason In dat geval hadden de recensenten de notebooks via de editor kunnen opvragen, zonder de anonimiteit te doorbreken: merk op dat een algemene repository niet noodzakelijk anonimiteit garandeert. Voor wat betreft samenwerkingen werkt het in mijn vakgebied het tegenovergestelde: aangezien het een klein vakgebied is, zijn we allemaal best bereid om met elkaar in contact te komen.
@ChristianClason Merk in ieder geval op dat ik niet wil voorstellen om de "contact" -weg te gebruiken boven de repository-manier: het is slechts een voorbeeld van wat we deden, rekening houdend met de tradities van ons vakgebied.
@MassimoOrtolano Zeker; expliciet aanbieden om te delen is al meer dan de meeste mensen doen (+1). Ik wilde gewoon mijn ervaring aanbieden (in een ander vakgebied). Ik blijf bij mijn aanbeveling om (ook) de documenten in te dienen als aanvullend materiaal om het leven van iedereen gemakkelijker te maken.
Specifiek voor symbolische integratie zou ik het niet voldoende vinden om alleen de Mathematica-code op te geven, als het resultaat niet op de een of andere manier was geverifieerd. Het resultaat kan afhangen van de gebruikte Mathematica-versie, de snelheid van je computer (!) En zelfs van welke andere berekeningen je in dezelfde sessie (!) Hebt gedaan. Dat komt omdat integratie gebruikmaakt van heuristieken, tijdsbeperkingen en caching van subresultaten.
@Szabolcs Ja, ik ben het ermee eens, en dit moet eigenlijk benadrukt worden voor alle computerberekeningen of simulaties. Een collega van mij, die spreekt over circuitsimulatoren zoals SPICE, is gewend te zeggen dat je om zo'n programma te gebruiken, elektronica veel beter moet kennen dan het (om te begrijpen wanneer de resultaten verkeerd zijn). Ik denk dat deze verklaring kan worden gegeneraliseerd naar elke computeranalyse.
"de auteurs kunnen de Mathematica notebooks leveren van de volledige berekeningen die in dit werk zijn ontwikkeld" IMO de grote meerderheid van de mensen zal dit pad niet volgen ... vs "beschikbaar bij" de meeste mensen zouden doorklikken en naar de bron kijken en waarschijnlijk kopiëren / plakken / rennen in Mathematica.
Snel gedachte-experiment: als u het "op verzoek beschikbaar" houdt, is het beste scenario dat elke lezer om de Mathematica-bron vraagt ​​... wat ertoe zou leiden dat de auteur handmatig moet reageren / e-mailen naar elke persoon ... als de papier wordt echt, en de auteur verplichten om op elke persoon te reageren zou in sommige gevallen onhoudbaar zijn.
@TrevorBoydSmith Het is niet dat elk veld uit duizenden mensen bestaat: er zijn (sub) velden waar enkele tientallen mensen over de hele wereld zijn, en het e-mailverkeer zou best beheersbaar zijn ;-)
@MassimoOrtolano ja, daarom nam ik de tijd om mijn tekst te herschrijven met "in * sommige * gevallen onhoudbaar". Maar hier is nog een gedachte-experiment: 50 jaar later kun je iemand die dood is niet e-mailen. Maar als de code op de een of andere manier is bijgevoegd, dan heb je tenminste een kopie van de oude code (gebeurt vaak in oude technische documenten waar het papier met oude code waardevoller is, want hoewel de code oud is ... het is nog steeds code die kan worden begrepen en geporteerd).
@TrevorBoydSmith Ja, je hebt gelijk, ik heb niet aan dat aspect gedacht.
Szabolcs
2016-06-19 19:45:39 UTC
view on stackexchange narkive permalink

Ik beschouw deze vraag als niet specifiek voor Mathematica, maar even relevant voor elk ander computeralgebrasysteem.

Je hebt een integraal of een vergelijking die je niet kunt oplossen. Je hebt een stukje software waarmee je een resultaat kunt behalen. Maar je weet niet hoe het tot het resultaat is gekomen. Is het oké om het te gebruiken?

Het gaat erom of het resultaat correct is, niet hoe je erbij bent gekomen. U moet het probleem begrijpen dat u aan het oplossen bent, en u moet de oplossing verifiëren.

Persoonlijk zou ik me erg ongemakkelijk voelen bij het gebruik van dergelijke een resultaat blindelings, vooral wetende hoe gemakkelijk bepaalde geautomatiseerde symbolische berekeningen, zoals definitieve integratie, fout kunnen gaan. Maar gelukkig zijn de meeste van dit soort resultaten veel gemakkelijker te verifiëren dan te berekenen . Je hebt een onbepaalde integraal? Onderscheid het! Een vergelijking? Vervang de oplossing! Een duidelijke integraal? Doe het numeriek en vergelijk het met de symbolische oplossing!

Als je in je artikel schrijft dat "dit het resultaat is van de integraal omdat Mathematica het zei " is niet oké, als je dat niet deed ' t verifieer het. Gewoon het resultaat vermelden zonder te zeggen hoe je erbij bent gekomen is prima zolang je het hebt geverifieerd en het is ook duidelijk genoeg voor elke lezer hoe het te verifiëren. Als het niet duidelijk is, bewijs dan het resultaat in de paper, dwz laat zien hoe u het hebt geverifieerd.


Aangezien u integratie noemt, moet ik erop wijzen dat Automatisch definitieve integralen is notoir moeilijk, en alle computeralgebrasystemen zullen af ​​en toe verkeerde resultaten opleveren. Dat is een heel goede reden om altijd te verifiëren.

Dit is het juiste antwoord. Er zijn zeker bugs in Mathematica. Ik heb ze een paar keer geraakt. De broncode is niet open en de bug-tracker is niet openbaar. Vertrouw Mathematica's antwoorden niet blindelings!
@BorisBukh Behalve dat het niet relevant is dat de code niet open is ... Ik hoor dit als een argument om Mathematica niet vaak te gebruiken, maar in dit geval beschouw ik het niet als geldig. Open source-systemen hebben ook bugs en geven ook verkeerde resultaten. Ik zal alleen een resultaat vertrouwen als het op de een of andere manier is geverifieerd, maar het maakt me niet echt uit of de software die het heeft geproduceerd open source is of niet.
@BorisBukh Er zijn natuurlijk situaties waarin open code belangrijk is (maar ik denk niet dat dit er een van is). Een specifiek voorbeeld dat mij persoonlijk heeft geraakt, is de functie `FindGraphCommunities` van Mathematica. Ik weet vrij zeker welke methoden het gebruikt, maar deze methoden zijn 1) niet goed gedocumenteerd, met verwijzingen en 2) de code is niet open. Dus ik kan deze functie niet gebruiken en zeggen dat "het resultaat is geproduceerd door methode X beschreven in artikel Y" ... (Merk op dat `FindGraphCommunities` een soort resultaat oplevert dat echt niet kan worden geverifieerd zonder herberekening ...)
Sommige berekeningen (zoals die van primitieve symbolen) zijn moeilijk uit te voeren, maar gemakkelijk te verifiëren. Voor hen is de implementatie relatief onbelangrijk. Voor andere berekeningen is de enige manier om de berekening te verifiëren, door deze te repliceren, * of * door zichzelf ervan te overtuigen dat de code die deze heeft geproduceerd geen fouten bevat. Dit laatste is onmogelijk als de bron gesloten is. (Numerieke integratie valt in de laatste categorie.)
Evenzo voorkomt een gesloten bug-tracker dat gebruikers snel ontdekken of ze een bekend probleem ervaren. Sommigen realiseren zich misschien niet eens dat het resultaat dat ze krijgen verkeerd is.
@Szabolcs het voordeel van open code is dat u de code zelf kunt onderzoeken en controleren op bugs, als het u iets kan schelen. Dit bewijst niet dat de code geen fouten bevat, maar helpt waarschijnlijk. Als de code gesloten is, kunt u niets controleren; wat nog belangrijker is, u kunt op geen enkele manier ** iets repareren **. Als ik een open source bibliotheek / programma gebruik en er een bug in zit, probeer ik deze te repareren zodat ik de klus kan klaren. Als ik een closed source-bibliotheek / -programma gebruik en het bevat een bug, sla ik mijn hoofd tegen de muur.
Count Iblis
2016-06-19 22:38:13 UTC
view on stackexchange narkive permalink

Zoals Szabolcs schrijft, is verificatie belangrijk en dat is ook het geval als je berekeningen met de hand zou uitvoeren met methoden waarvan je denkt dat ze betrouwbaar zijn. Er zijn gevallen van foutieve resultaten in de collegiaal getoetste literatuur die al geruime tijd niet zijn opgemerkt, waarbij onderzoeken daadwerkelijk jarenlang de verkeerde formule uit het gepubliceerde artikel hebben gebruikt.

Een voorbeeld is het artikel van L Chatterjee, G. Das, R. Goswami: Z. Phys. D 32, 73 (1994), werd een fout gemaakt bij de berekening van de doorsnede voor de stralingsinvang van een geladen deeltje in de grondtoestand. Het was een elementaire wiskundige fout vanwege het gebruik van inconsistente vertakkingen, zoals hier wordt aangegeven. Die fout werd door de auteurs niet opgemerkt juist omdat het leidde tot een vreemd effect van een schijnbare discontinuïteit in de dwarsdoorsnede, dit effect werd geïnterpreteerd als een interessant kenmerk van de vangstdoorsnede.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...