ginsh - Bulutta Çevrimiçi

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen ginsh komutudur.

Program:

ADI


ginsh - GiNaC Etkileşimli Kabuk

ÖZET


ginş [dosya ...]

TANIM


ginş GiNaC sembolik hesaplama çerçevesi için etkileşimli bir önyüzdür. Bu
olarak değil, GiNaC'nin özelliklerini test etmek ve denemek için bir araç olarak tasarlanmıştır.
geleneksel etkileşimli bilgisayar cebir sistemlerinin yerine geçer. Birçok şey yapabilmesine rağmen
bu geleneksel sistemlerin yapabileceği şeyler, ginsh gibi hiçbir programlama yapısı sağlamaz.
döngüler veya koşullu ifadeler. Bu işlevselliğe ihtiyacınız varsa, yazmanız önerilir.
programınız, "yerel" GiNaC sınıf çerçevesini kullanarak C++'da.

KULLANIM


GİRİŞ FORMAT
Başlattıktan sonra ginsh, isteğinizi kabul etmeye hazır olduğunu belirten bir komut istemi ("> ") görüntüler.
giriş. Kabul edilebilir girdiler, sayılardan oluşan sayısal veya sembolik ifadelerdir (örn.
42, 2/3 or 0.17), semboller (örn. x or sonuç), matematiksel operatörler gibi + ve *, ve
işlevler (örn. günah or normal). Her giriş ifadesi, bir ile sonlandırılmalıdır.
noktalı virgül (;) veya iki nokta üst üste (:). Noktalı virgülle sonlandırılırsa, ginsh
ifade ve sonucu stdout'a yazdırın. İki nokta üst üste ile sonlandırılırsa, ginsh yalnızca
ifadeyi değerlendirin ancak sonucu yazdırmayın. birden fazla girmek mümkündür
ifadeler tek satırda. Boşluk (boşluklar, sekmeler, yeni satırlar) arasında serbestçe uygulanabilir
jetonlar. Ginsh'ten çıkmak için girin çıkmak or çıkışveya istemde bir EOF (Ctrl-D) yazın.

YORUMLAR
Çift eğik çizgi izleyen herhangi bir şey (//) satırın sonuna kadar ve tüm satırlar başlayana kadar
bir kare işaretiyle (#) yorum olarak kabul edilir ve yok sayılır.

NUMARALARI
ginsh, normal ondalık gösterimlerdeki sayıları kabul eder. Buna keyfi hassasiyet dahildir
tamsayılar ve rasyonellerin yanı sıra standart veya bilimsel olarak kayan nokta sayıları
notasyon (örn. 1.2E6). Genel kural şudur ki, bir sayı ondalık nokta içeriyorsa
(.), (kesin olmayan) bir kayan nokta sayısıdır; aksi takdirde (tam) bir tamsayıdır veya
akılcı. Tamsayılar ikili, sekizli, onaltılı veya keyfi olarak belirtilebilir (2-36)
onları önekleyerek baz #b, #o, #xya da #nR , Sırasıyla.

SEMBOLLER
Semboller, bir dizi alfanümerik karakterden ve alt çizgiden (_), ile
ilk karakter sayısal değildir. Örneğin a ve mu_1 kabul edilebilir sembol isimleri iken
2pi değil. Fonksiyonlarla aynı ada sahip semboller kullanmak mümkündür (örn. günah);
ginsh ikisi arasında ayrım yapabilir.

Semboller girilerek değerler atanabilir.
sembol = ifade;

Atanmış bir sembolün değerinin atamasını kaldırmak için şunu yazın
atamayı kaldır('sembol');

Atanan semboller otomatik olarak değerlendirilir (= atanan değerleriyle değiştirilir)
kullanılırlar. Değerlendirilmemiş sembole atıfta bulunmak için tek tırnak işareti koyun (') adının etrafında,
yukarıdaki "atamayı kaldır" komutu için gösterildiği gibi.

Semboller varsayılan olarak karmaşık etki alanında kabul edilir, yani sanki
karmaşık sayıları temsil ederler. Bu davranış, anahtar kelimeler kullanılarak değiştirilebilir.
gerçek semboller ve karmaşık_semboller ve yeni oluşturulan tüm sembolleri etkiler.

Aşağıdaki semboller, tarafından bir değer atanamayan önceden tanımlanmış sabitlerdir.
kullanıcı:

Pi Arşimet Sabiti

Katalan Katalan Sabiti

Euler Euler-Mascheroni Sabiti

I kare(-1)

FAIL GiNaC "fail" sınıfının bir nesnesi

özel de var
Rakamlar
Kesin olmayan sayılarla yapılan hesaplamaların sayısal kesinliğini kontrol eden sembol.
Rakamlara bir tamsayı değeri atamak, kesinliği verilen sayıya değiştirecektir.
ondalık.

joker karakterler
has(), find(), match() ve subs() işlevleri, joker karakterleri yer tutucu olarak kabul eder.
ifade. Bunlar sözdizimine sahip
$numara
örneğin $0, $1 vb.

SON BASKILI İFADE
ginsh üç özel sembol sağlar
%, %% ve %%%
sırasıyla son, sondan ikinci ve sondan üçüncü yazdırılan ifadeye atıfta bulunur.
Bunlar, önceki hesaplamaların sonuçlarını yeni bir programda kullanmak istiyorsanız kullanışlıdır.
ifadesi.

OPERATÖRLERİ
ginsh, azalan öncelik sırasına göre listelenen aşağıdaki operatörleri sağlar:

! postfix faktöriyel

^ güç verme

+ tekli artı

- tekli eksi

* çarpma

/ bölünme

+ ilave

- çıkarma

< daha kısa

> daha büyük

<= daha az veya eşit

>= daha büyük veya eşit

== eşit

!= eşit değil

= sembol ataması

Tüm ikili işleçler, aşağıdakiler dışında, sol ilişkiseldir. ^ ve = hangisi doğru-
ilişkisel. Atama operatörünün sonucu (=) onun sağ tarafı, yani
bir ifadede birden çok sembol atamak mümkündür (örn. a = b = c = 2;).

LİSTELERİ
Listeler tarafından kullanılır subs ve çözmek fonksiyonlar. Bir liste, bir açılış küme parantezi içerir
({), (muhtemelen boş) bir virgülle ayrılmış ifade dizisi ve bir kapanış kaşlı ayracı
(}).

MATRİSLER
Bir matris, bir açılış köşeli parantezinden ([), boş olmayan virgülle ayrılmış bir dizi
matris satırları ve bir kapanış köşeli parantez (]). Her matris satırı bir açıklıktan oluşur
köşeli ayraç ([), boş olmayan virgülle ayrılmış bir ifade dizisi ve bir kapanış
köşeli ayraç (]). Bir matrisin satırları aynı uzunlukta değilse,
matris en uzun satırın matrisi olur ve daha kısa satırlar sonunda doldurulur
sıfır değerindeki öğeler.

FONKSİYONLAR
Ginsh'deki bir işlev çağrısı şu şekildedir:
isim(argümanlar)
nerede argümanlar virgülle ayrılmış bir ifade dizisidir. ginsh birkaç sağlar
yerleşik işlevler ve ayrıca GiNaC tarafından tanımlanan tüm sembolik işlevleri "içe aktarır" ve
ek kütüphaneler. Bağlamaktan başka kendi işlevlerinizi tanımlamanın bir yolu yoktur.
ginsh, sembolik GiNaC işlevlerini tanımlayan bir kitaplığa karşı.

ginsh, işlev adlarında Sekme tamamlama sağlar: bir işlevin ilk bölümünü yazarsanız
isim, mümkünse Tab'a basmak ismi tamamlayacaktır. Yazdığınız kısım benzersiz değilse,
Tab'a tekrar basmak, eşleşen işlevlerin bir listesini görüntüler. Sekme'ye iki kez basmak
komut istemi, mevcut tüm işlevlerin listesini görüntüler.

Yerleşik işlevlerin bir listesi aşağıdadır. Neredeyse hepsi ilgili GiNaC olarak çalışır
aynı adı taşıyan yöntemler, bu yüzden onları burada ayrıntılı olarak açıklamayacağım. Lütfen
GiNaC belgeleri.

şarlatan(matris, sembol) - bir matrisin karakteristik polinomu
katsayı(ifade, nesne, numara) - a'dan nesne^sayı katsayısını çıkarır
polinom
toplamak(ifade, nesne veya liste) - benzer güçlerin katsayılarını toplar (sonuç
özyinelemeli formda)
Collect_distributed(ifade, liste) - benzer güçlerin katsayılarını toplar
(dağıtılmış biçimde sonuç)
Collect_common_factors(ifade) - toplam terimlerinden ortak faktörleri toplar
eşlenik(ifade) - karmaşık konjugasyon
içerik(ifade, sembol) - bir polinomun içerik kısmı
ayrıştırma_rasyonel(ifade, sembol) - rasyonel fonksiyonu polinomlara ayrıştırın
ve uygun rasyonel fonksiyon
derecesi (ifade, nesne) - bir polinomun derecesi
mezhep(ifade) - rasyonel bir fonksiyonun paydası
belirleyici(matris) - bir matrisin determinantı
teşhis(ifade...) - diyagonal matris oluşturur
fark(ifade, sembol [, sayı]) - kısmi farklılaşma
bölmek(ifade, ifade) - kesin polinom bölümü
değerlendir(ifade [, seviye]) - sembolleri kendileriyle değiştirerek bir ifadeyi değerlendirir
belirlenmiş değer
değerlendirme(ifade [, seviye]) - bir ifadeyi kayan noktalı sayı olarak değerlendirir
değerlendir(ifade) - matrislerin toplamlarını, ürünlerini ve tamsayı güçlerini değerlendirir
genişletmek(ifade) - bir ifadeyi genişletir
faktör(ifade) - bir ifadeyi çarpanlara ayırır (tek değişkenli)
bulmak(ifade, model) - bir modeldeki tüm oluşumların bir listesini döndürür
ifade
çözmek(ifade, sembol, numara, numara) - gerçek değerli bir kökü sayısal olarak bulun
bir aralık içinde işlev
gcd(ifade, ifade) - en büyük ortak böleni
vardır(ifade, model) - ilk ifade kalıbı içeriyorsa "1" döndürür
bir alt ifade olarak, aksi takdirde "0"
tamsayı_içerik(ifade) - bir polinomun tamsayı içeriği
ters(matris) - bir matrisin tersi
NS(ilişki) - ilişki doğruysa "1", değilse "0" döndürür (yanlış veya
kararsız)
lcm(ifade, ifade) - en küçük ortak Kat
katsayı(ifade, nesne) - bir polinomun lider katsayısı
derece(ifade, nesne) - düşük dereceli bir polinom
çöz(denklem listesi, sembol listesi) - lineer denklem sistemini çöz
harita(ifade, model) - her işlenene işlev uygulamak; olması gereken fonksiyon
uygulanan, işlenenler için "$0" joker karakteri olan bir model olarak belirtilir.
kibrit(ifade, model) - ifadenin bir kalıpla eşleşip eşleşmediğini kontrol edin; bir döndürür
joker karakter değiştirme listesi veya eşleşme yoksa "BAŞARISIZ"
hayır(ifade) - ifadedeki işlenen sayısı
normal(ifade [, seviye]) - rasyonel fonksiyon normalizasyonu
sayı(ifade) - rasyonel bir fonksiyonun payı
sayı_denom(ifade) - rasyonel bir fonksiyonun pay ve paydası olarak
liste
operasyon(ifade, numara) - ifadeden işleneni çıkar
güç(ifade1, ifade2) - üs alma (ifade1^ifade2 yazmaya eşdeğer)
ön(ifade, ifade, sembol) - polinomların sözde kalanı
ilk parça(ifade, sembol) - bir polinomun ilkel kısmı
quo(ifade, ifade, sembol) - polinomların bölümü
rank (matris) - bir matrisin sıralaması
geri(ifade, ifade, sembol) - polinomların geri kalanı
sonuç(ifade, ifade, sembol) - ile iki polinomun sonucu
s sembolüne saygı
dizi(ifade, ilişki veya sembol, sipariş) - seri genişletme
sperm(ifade, ifade, sembol) - polinomların seyrek sözde kalanı
karesiz(ifade [, sembol listesi]) - bir polinomun karesiz çarpanlara ayrılması
kare(ifade) - kare kök
yedekler(ifade, ilişki veya liste)
yedekler(ifade, arananlar listesi, listeyle değiştir) - alt ifadeleri değiştirin (siz
joker karakterler kullanabilir)
t katsayı(ifade, nesne) - bir polinomun takip eden katsayısı
zaman(ifade) - verilen değeri değerlendirmek için gereken süreyi saniye cinsinden döndürür
ifade
iz(matris) - bir matrisin izi
devrik(matris) - bir matrisin devrik
atamayı kaldır("sembol") - atanmış bir sembolün atamasını kaldırın (tırnaklara dikkat edin, lütfen!)
birim(ifade, sembol) - bir polinomun birim parçası

ÖZEL KOMUTLAR
Ginsh'ten çıkmak için girin
çıkmak
or
çıkış

ginsh, belirli bir konu için (kısa) bir yardım görüntüleyebilir (çoğunlukla işlevler ve operatörler hakkında)
Girerek
?konu
Yazma
??
mevcut yardım konularının bir listesini görüntüler.

Komuta
Yazdır(ifade);
verilen için GiNaC'nin dahili temsilinin bir dökümünü yazdıracak ifade. Bu,
hata ayıklamak ve GiNaC dahili öğelerini öğrenmek için kullanışlıdır.

Komuta
print_lateks(ifade);
verilen bir LaTeX temsilini yazdırır ifade.

Komuta
print_csrc(ifade);
verilenleri yazdırır ifade C veya C++ programında kullanılabilecek şekilde.

Komuta
baskı(ifade);
verilenleri yazdırır ifade (bir tamsayı olarak değerlendirilmesi gerekir) ondalık, sekizlik ve
onaltılık gösterimler.

Son olarak, kabuk kaçış
! [komuta [argümanlar]]
verileni geçer komuta ve isteğe bağlı olarak argümanlar yürütme için kabuğa. Bununla
yöntemi, çıkmak zorunda kalmadan ginsh içinden kabuk komutlarını çalıştırabilirsiniz.

ÖRNEKLER


> a = x^2-x-2;
-2-x+x^2
> b = (x+1)^2;
(x+1)^2
> s = a/b;
(x+1)^(-2)*(-2-x+x^2)
> fark(lar, x);
(2*x-1)*(x+1)^(-2)-2*(x+1)^(-3)*(-x+x^2-2)
> normal(ler);
(x-2)*(x+1)^(-1)
> x = 3^50;
717897987691852588770249
> s;
717897987691852588770247/717897987691852588770250
> Rakamlar = 40;
40
> değerlendirme(ler);
0.999999999999999999999995821133292704384960990679
> atamayı kaldır('x');
x
> s;
(x+1)^(-2)*(-x+x^2-2)
> seri(sin(x),x==0,6);
1*x+(-1/6)*x^3+1/120*x^5+Order(x^6)
> lsolve({3*x+5*y == 7}, {x, y});
{x==-5/3*y+7/3,y==y}
> lsolve({3*x+5*y == 7, -2*x+10*y == -5}, {x, y});
{x==19/8,y==-1/40}
> M = [ [a, b], [c, d] ];
[[-x+x^2-2,(x+1)^2],[c,d]]
> determinant(M);
-2*d-2*x*cx^2*cx*d+x^2*dc
> topla(%, x);
(-d-2*c)*x+(dc)*x^2-2*dc
> kuantum alan teorisini çöz;
kuantumda ayrıştırma hatası
> bırak

TANI


ayrıştırma hatası foo
Ginsh'in ayrıştıramadığı bir şey girdiniz. Lütfen sözdizimini kontrol edin
girişinizi yapın ve tekrar deneyin.

tartışma num için işlev a olmalıdır tip
argüman numarası num verilene işlev belirli bir tipte olmalıdır (örn.
sembolü veya bir liste). İlk argümanın numarası 0, ikinci argümanın numarası 1,
vb.

onworks.net hizmetlerini kullanarak ginsh'i çevrimiçi kullanın



En yeni Linux ve Windows çevrimiçi programları